### Question:
GraphMLImporter extends AbstractBaseImporter<V, E> implements GraphImporter<V, E> { @Override public void importGraph(Graph<V, E> graph, Reader input) throws ImportException { try { XMLReader xmlReader = createXMLReader(); GraphMLHandler handler = new GraphMLHandler(); xmlReader.setContentHandler(handler); xmlReader.setErrorHandler(handler); xmlReader.parse(new InputSource(input)); handler.updateGraph(graph); } catch (Exception se) { throw new ImportException("Failed to parse GraphML", se); } } GraphMLImporter(VertexProvider<V> vertexProvider, EdgeProvider<V, E> edgeProvider); String getEdgeWeightAttributeName(); void setEdgeWeightAttributeName(String edgeWeightAttributeName); boolean isSchemaValidation(); void setSchemaValidation(boolean schemaValidation); @Override void importGraph(Graph<V, E> graph, Reader input);  }### Answer:
@Test public void testUnsupportedGraph() throws ImportException { String input = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + NL + "<graphml xmlns=\"http: "xmlns:xsi=\"http: "xsi:schemaLocation=\"http: "http: "<graph id=\"G\" edgedefault=\"undirected\">" + NL + "<node id=\"1\"/>" + NL + "<node id=\"2\"/>" + NL + "<node id=\"3\"/>" + NL + "<edge source=\"1\" target=\"2\"/>" + NL + "<edge source=\"2\" target=\"3\"/>" + NL + "<edge source=\"3\" target=\"1\"/>"+ NL + "<edge source=\"3\" target=\"1\"/>"+ NL + "<edge source=\"1\" target=\"1\"/>"+ NL + "</graph>" + NL + "</graphml>"; final Graph<String, DefaultEdge> g = new SimpleGraph<String, DefaultEdge>(DefaultEdge.class); try { GraphMLImporter<String, DefaultEdge> importer = new GraphMLImporter<>( (label, attributes) -> label, (from, to, label, attributes) -> g.getEdgeFactory().createEdge(from, to)); importer.importGraph(g, new StringReader(input)); fail("No!"); } catch (Exception e) { } }