class GraphComparator {

    public void compare(final Connection connection, final Graph<Node, Edge> expectedGraph, final AssertionErrorCollector errorCollector) {
        Graph<Node, Edge> givenGraph;
        try {
            givenGraph = dbReader.readGraph(connection);
        } catch (final SQLException e) {
            throw new JpaUnitException(FAILED_TO_VERIFY_DATA_BASE_STATE, e);
        }

        if (expectedGraph.vertexSet().isEmpty()) {
            shouldBeEmpty(givenGraph, errorCollector);
        } else {
            compareContent(givenGraph, expectedGraph, errorCollector);
        }
    }

    public  GraphComparator(final GraphElementFactory factory, final String[] toExclude, final boolean strict);

}