public boolean equals(Object x)
	{
		if (! (x instanceof TypePlusCondition))
			return false;
		else
		{
			TraversalCondition c = (TraversalCondition)x;
			return HGUtils.eq(startAtom, c.startAtom) &&
				   HGUtils.eq(linkPredicate, c.linkPredicate) &&
				   HGUtils.eq(siblingPredicate, c.siblingPredicate) &&
				   returnSucceeding == c.returnSucceeding &&
				   returnPreceeding == c.returnPreceeding &&
				   returnSource == c.returnSource &&
				   reverseOrder == c.reverseOrder;
		}
	}