class GraphElementFactory implements VertexProvider<Node>, EdgeProvider<Node, Edge> {

    @Override
    public Edge buildEdge(final Node from, final Node to, final String name, final Map<String, Attribute> edgeAttributes) {
        return createEdge(from, to, name, extractLabels(edgeAttributes), convertAttributes(edgeAttributes));
    }

    public  GraphElementFactory(final List<Class<?>> entityClasses);

}