@SuppressWarnings("unchecked") private IElement getDummy(Class<? extends IElement> elementClass) { IElement dummy = null; GraphDataStructure tempGDS; EnumMap<ListType, Class<? extends IDataStructure>> listtypes = GraphDataStructure.getList( ListType.GlobalNodeList, DArray.class, ListType.GlobalEdgeList, DArray.class); if (Node.class.isAssignableFrom(elementClass)) { tempGDS = new GraphDataStructure(listtypes, (Class<? extends Node>) elementClass, null); dummy = tempGDS.newNodeInstance(42); } else if (DirectedEdge.class.isAssignableFrom(elementClass)) { tempGDS = new GraphDataStructure(listtypes, null, (Class<? extends Edge>) elementClass); DirectedNode n1 = new DirectedNode(1, tempGDS); DirectedNode n2 = new DirectedNode(2, tempGDS); dummy = tempGDS.newEdgeInstance(n1, n2); } else if (UndirectedEdge.class.isAssignableFrom(elementClass)) { tempGDS = new GraphDataStructure(listtypes, null, (Class<? extends Edge>) elementClass); UndirectedNode n1 = new UndirectedNode(1, tempGDS); UndirectedNode n2 = new UndirectedNode(2, tempGDS); dummy = tempGDS.newEdgeInstance(n1, n2); } else { fail("Cannot identify " + elementClass); } return dummy; }