void validate() throws validate_failed
	{
		int i=0;
		node s=startNode;
		boolean success=true;
		while((s=s.nextNode()).getId()!=startNode.getId())
		{
			if (s.lfilledF>2 && s.getLtableF(1).getId()!=s.nextNode().nextNode().getId()) 
			{
				common.outputtoScreen("@@@@@@@@see node id="+s.getId());
				dumpstate();
				throw new validate_failed();
			}
			i++;
			if (i>common.maxNodes) 
			{
				if (tol==0)throw new validate_failed();
				else tol--;
				success=false;
				break;
			}
		}
		if (success) tol=maxtol;
		checklf();
		//verifyDist();
	}