class DefaultMutablePath implements MutablePath<V, E> {

    @Override
    public void appendEdge(E edge) {
        checkNotNull(edge, "Edge cannot be null");
        checkArgument(edges.isEmpty() || dst().equals(edge.src()),
                      "Edge source must be the same as the current path destination");
        edges.add(edge);
    }

    public  DefaultMutablePath();
    public  DefaultMutablePath(Path<V, E> path);

}