private Node normaliseLeftResidualPath() throws MVDException
	{
		Node arcFrom = arc.from;
		arc.from.removeOutgoing( arc );
		if ( leftSubArc != null )
		{
			arcFrom.addOutgoing( leftSubArc );
			arcFrom = new Node();
			arcFrom.addIncoming( leftSubArc );
		}
		if ( leftSubGraph == null )
		{
			if ( arcFrom != graph.start )
				leftSubGraph = createEmptyLeftSubgraph();
			// else we do nothing
		}
		else	// leftSubGraph != null
		{
			if ( arcFrom == graph.start )
			{
				Arc a = createEmptyArc( version );
				arcFrom.addOutgoing( a );
				arcFrom = new Node();
				arcFrom.addIncoming( a );
			}
			// else we're good
		}
		return arcFrom;
	}