public int CompareTo(SubQuery other) { if (Pattern == null) { return(StaticAIMLUtils.ReferenceCompare(this, other)); } int compare = Pattern.CompareTo(other.Pattern); if (compare != 0) { return(compare); } compare = StaticAIMLUtils.CollectionCompare(Templates, other.Templates, TemplateInfoImpl.CompareTemplates); if (compare != 0) { return(compare); } return(StaticAIMLUtils.ReferenceCompare(this, other)); }