public void verify() throws MVDException
	{
		SimpleQueue<Node> queue = new SimpleQueue<Node>();
		HashSet<Node> printed = new HashSet<Node>();
		start.verify();
		queue.add( start );
		while ( !queue.isEmpty() )
		{
			Node node = queue.poll();
			node.verify();
			ListIterator<Arc> iter = node.outgoingArcs(this);
			while ( iter.hasNext() )
			{
				Arc a = iter.next();
				a.verify();
				a.to.printArc( a );
				printed.add( a.to );
				if ( a.to != end && a.to.allPrintedIncoming(constraint) )
				{
					queue.add( a.to );
				}
			}
		}	
		Iterator<Node> iter2 = printed.iterator();
		while ( iter2.hasNext() )
		{
			Node n = iter2.next();
			n.reset();
		}
		end.verify();
	}