code: public static TransactionGeomIndex getIndex(String identifier) {
  		if (identifier == null) {
  			return new TransactionGeomIndex();
  		}
  		TransactionGeomIndex index = new TransactionGeomIndex();
  		int position = identifier.indexOf("featureTransaction.feature");
  		if (position >= 0) {
  			String temp = identifier.substring(position + ("featureTransaction.feature".length()));
  			index.setFeatureIndex(readInteger(temp));
  
  			// Geometry index (polygon, lineString or point):
  			index.setGeometryIndex(getIndex(identifier, "polygon"));
  			if (index.getGeometryIndex() < 0) {
  				index.setGeometryIndex(getIndex(identifier, "linestring"));
  			}
  			if (index.getGeometryIndex() < 0) {
  				index.setGeometryIndex(getIndex(identifier, "point"));
  			}
  
  			index.setExteriorRing(hasIdentifier(identifier, "shell"));
  			index.setInteriorRingIndex(getIndex(identifier, "hole"));
  
  			// Coordinate index (coordinate or edge):
  			index.setCoordinateIndex(getIndex(identifier, "coordinate"));
  			if (index.getCoordinateIndex() < 0) {
  				index.setEdgeIndex(getIndex(identifier, "edge"));
  			}
  			return index;
  		}
  		return index;
  	}
docs: ------------------------------------------------------------------------