System.err.println("adding a dummy node at layer"+(i-1)); System.err.println("node is "+dummy);
	private void makeProperLink(GraphLayoutNode node,LayoutLink link,int i,		HashSet newLinks) {		// we know node is at i.				GraphLayoutNode to = (GraphLayoutNode) link.getToNode();		//System.err.println("..link to "+to.getName());		int toLayer = to.getLayer();		if (toLayer == (i-1)) {			// layer is correct			newLinks.add(link);		}		else {			// create new dummy node			DummyNode dummy = new DummyNode();			//System.err.println("node is "+dummy);			LayoutLinkData semantiLayoutLinkData = link.getSemanticLink();			// make this node point to "to"			LayoutLink dummyOutLink = new LayoutLink(semantiLayoutLinkData,dummy,to);			dummy.addSuccLink(dummyOutLink);						// make node point to new node			LayoutLink newOutLink = new LayoutLink(semantiLayoutLinkData,node,dummy);						dummy.addPredLink(newOutLink);						// add new link to links.			newLinks.add(newOutLink);						// remove successor from node			// don't need to do this, as we set the successors of this node			// en masse 						// adjust predecessors for to			to.removePredLink(link);			to.addPredLink(dummyOutLink);						// add dummy to next layer.			//System.err.println("adding a dummy node at layer"+(i-1));			//System.err.println("node is "+dummy);			layering.addToLayer(i-1,dummy);						// adjust the semantic link to put dummy in between "from" and "to".			// invariant is that "from" is directly before "to", so just put it			//after "from"			semantiLayoutLinkData.addIntermediate(node,dummy);		}	}