private void extractNode(Status status)
	{
		for (int operationID = status.getStart(); operationID < this.operations.length; operationID++)
		{
			for (int count = 0; count < 4; count++)
			{
				
				if (operationID == 3)
				{
					if ((status.clocks[0] + count) % 4 != 0)
					{
						continue;
					}
				}
					
				Status tmpStatus = new Status();
				
				for (int i = 0; i < 9; i ++)
				{
					tmpStatus.clocks[i] = status.clocks[i];
				}
				
				for (int i=0; i < 9; i++)
				{
					tmpStatus.operations[i] = status.operations[i];
				}
				
				tmpStatus.update(this.operations[operationID].toCharArray(), operationID, count);
				
				if (this.isExistStatus(tmpStatus) == false)
				{
					if (tmpStatus.isFinished())
					{
						this.finalStatus = tmpStatus;
						
						this.finished = true;
						
						return;
					}
					
					this.addStatus(tmpStatus);
				}
			}
		}
	}