private void step3Recursive(String usedEdge, int delta, String target) {
		if (usedEdge != null && usedEdge.length() > 0 && delta > 0) {
			int flowAtEdge = this.graph.getValE(usedEdge, this.attrEdgeFlow);
			
			//Bin ich Source oder Target?
			String source = this.graph.getSource(usedEdge);
			if (!source.equals(target)) {
				//target ist das Ziel, also normale Kante
				this.graph.setValE(usedEdge, this.attrEdgeFlow, (flowAtEdge + delta));
				
				System.out.print(""+source+":");
				
				String newUsedEdge = this.graph.getStrV(source, this.attrNodeUsedEdge);
				this.step3Recursive(newUsedEdge, delta, source);
			} else {
				//target ist der Source, also Rückwärtskante ... backtracking...
				source = this.graph.getTarget(usedEdge);
				
				System.out.print("#BACK# " + target + " Kante zu " + source + " löschen und "+source+" umbiegen auf ");
				backtracks++;
				
				this.graph.setValE(usedEdge, this.attrEdgeFlow, (flowAtEdge - delta));
				
				String newUsedEdge = this.graph.getStrV(source, this.attrNodeUsedEdge);
				this.step3Recursive(newUsedEdge, delta, source);
			}
		}
	}