private OutEdgeIteratorImpl(InternalNodeWrapper<N, E> from, ContextualReachability<N, E, ?> contextualReachability) {


                List<InternalNode<N, E>> reachableNodes = new ArrayList<InternalNode<N, E>>();
                for (InternalNode<N, E> node : from.toNodes) {
                    if (contextualReachability.isReachable(node)) {
                        reachableNodes.add(node);
                    }
                }
                reachableNodesIterator = reachableNodes.iterator();
            }