public void removeVersion( int version )
	{
		Node n = start;
        while ( n != end )
		{
			Arc a = n.pickOutgoingArc( version );
			// get next n before a.to becomes null
			n = a.to;
			if ( a.versions.cardinality()==1 )
			{
				a.from.removeOutgoing( a );
				a.to.removeIncoming( a );
				// is it a child arc?
				if ( a.parent != null )
					a.parent.removeChild( a );
				else if ( a.children != null )
					a.passOnData();
			}
			else
			{
				a.versions.clear( version );
				a.to.removeIncomingVersion( version );
				a.from.removeOutgoingVersion( version );
			}
            // not needed once testing is complete
			// infeasible when merging minigraphs
			/*try
			{
				n.verify();
			}
			catch ( Exception e )
			{
				System.out.println(e);
			}	*/
		}
		this.constraint.clear( version );
	}