public static int getPropertyIndex(Bean theRoot, String name) { String index = extractPropertyIndex(name); if (index != null) { int i = index.lastIndexOf('i'); if (i != -1) { // This is a removed property - return the old value return Integer.parseInt(index.substring(i+1)); } else { // Get the current index value Bean bean = getPropertyParent(theRoot, name); if (bean != null) { BeanProp bp = bean.beanProp(getPropertyName(name)); if (bp != null) return bp.idToIndex(Integer.parseInt(index, 16)); } } } return -1; }