private void innerDo() {
		
		String startNode = this.globalStartNode;
		//boolean newCircleFound = false;
		//List<String> newFoundCircles = new ArrayList<String>();
		int i = 0;
		
		while (i < this.foundCircles.size() && this.globalUsedEdges.size() 
				< this.graph.getEdges().size()) {
			String edge = this.foundCircles.get(i);
			String targetNode = null;
			if (this.graph.getSource(edge).equals(startNode)) {
				targetNode = this.graph.getTarget(edge);
			} else {
				targetNode = this.graph.getSource(edge);
			}
			
			List<String> tmpCircle = doFindCircle(targetNode);
			this.foundCircles.addAll((i+1), tmpCircle);

			tempPrintEdges(targetNode, tmpCircle);
			System.out.println("----------------");
			tempPrintEdges(this.globalStartNode, this.foundCircles);
			System.out.println("################");
			System.out.println();
			
			startNode = targetNode;
			i = i +1;
		}
		
	}