public override int GetHashCode()
{
if (0 == hashCode)
{
hashCode = 17;
hashCode = 37 * hashCode + predicateName.GetHashCode();
foreach (Term t in terms)
{
hashCode = 37 * hashCode + t.GetHashCode();
}
}
return hashCode;
}