anchor.diff:  		// kill does not have ok and error
   		if(res.decisionOrForkOrJoin[i].ok === undefined && res.decisionOrForkOrJoin[i].error === undefined){
   			nodes2[res.decisionOrForkOrJoin[i].name] = {node: circle, to : []};
  +			indexedNodes[res.decisionOrForkOrJoin[i].name] = { to : [] };
   		}else{
   			nodes2[res.decisionOrForkOrJoin[i].name] = {node: circle, to : [ res.decisionOrForkOrJoin[i].ok.to, res.decisionOrForkOrJoin[i].error.to]};
  +			indexedNodes[res.decisionOrForkOrJoin[i].name] = { to : [res.decisionOrForkOrJoin[i].ok.to, res.decisionOrForkOrJoin[i].error.to] };
   		}
   
   	}
  
positive.code: };
  
  var traverse_counter = 0;
  
  function drawDiagram(res){
  	Joint.paper("myfsa1", 500, 2000);
  
negative.code: 	var cEnd = fsa.State.create({ position: {x: 200, y: yPos}, label: "End" });
  	allNodes.push(cEnd);
  	nodes2[res.end.name] = {node: cEnd, to:[] };
  	indexedNodes[res.end.name] = { to : [] };
  
  	// var sortOrder = 1;
  	var currentKey = "start"; ;
  	// indexedNodes[currentKey].sortOrder = sortOrder;
  	addSortOrder(currentKey, 0);
  //	while(true){
  //		traverse_counter++;
  //		if(traverse_counter > 100){
  //			break;
  //		}
  //
  //	}
  
  
  
  	for(var prop in nodes2){	
  		var current = nodes2[prop];
  