public TitanGraphIndex getExternalIndex(Class<? extends Element> clazz, String backingIndex) { String prefix; if (Vertex.class.isAssignableFrom(clazz)) prefix = "v"; else if (Edge.class.isAssignableFrom(clazz)) prefix = "e"; else if (TitanVertexProperty.class.isAssignableFrom(clazz)) prefix = "p"; else throw new AssertionError(clazz.toString()); String indexName = prefix + backingIndex; TitanGraphIndex index = mgmt.getGraphIndex(indexName); if (index == null) { index = mgmt.buildIndex(indexName, clazz).buildMixedIndex(backingIndex); } return index; }