@Override
    public Result<V, E> search(Graph<V, E> graph, V src, V dst,
                               EdgeWeigher<V, E> weigher, int maxPaths) {
        checkArguments(graph, src, dst);

        return internalSearch(graph, src, dst,
                weigher != null ? weigher : new DefaultEdgeWeigher<>(),
                maxPaths);
    }
@Test(expected = NullPointerException.class)
    public void nullSourceArgument() {
        graphSearch().search(new AdjacencyListsGraph<>(of(B, C),
                        of(new TestEdge(B, C))),
                null, H, weigher, 1);
    }