// This file is automatically generated by DemeterJ. EqualVisitor { {{ private java.util.Stack history = new java.util.Stack(); public EqualVisitor(Object obj) { history.push(obj); } }} before -> XAspectLanguage3, aspectlanguage_list, AspectLanguage_List {{ if (is_equal) { XAspectLanguage3 obj = (XAspectLanguage3) history.peek(); Object temp1 = obj.get_aspectlanguage_list(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } }} after -> XAspectLanguage3, aspectlanguage_list, AspectLanguage_List {{ if (is_equal) history.pop(); }} before XAspectLanguage3 {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before AspectLanguage {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassDictionaryL, classdictionaryname, ClassDictionaryName {{ if (is_equal) { ClassDictionaryL obj = (ClassDictionaryL) history.peek(); Object temp2 = obj.get_classdictionaryname(); if(temp2==null) { is_equal = false; return; } history.push(temp2); } }} after -> ClassDictionaryL, classdictionaryname, ClassDictionaryName {{ if (is_equal) history.pop(); }} before -> ClassDictionaryL, classdict, ClassDict {{ if (is_equal) { ClassDictionaryL obj = (ClassDictionaryL) history.peek(); Object temp3 = obj.get_classdict(); if(temp3==null) { is_equal = false; return; } history.push(temp3); } }} after -> ClassDictionaryL, classdict, ClassDict {{ if (is_equal) history.pop(); }} before ClassDictionaryL {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SelectorL, traversalname, TraversalName {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp4 = obj.get_traversalname(); if(temp4==null) { is_equal = false; return; } history.push(temp4); } }} after -> SelectorL, traversalname, TraversalName {{ if (is_equal) history.pop(); }} before -> SelectorL, strategydef_list, StrategyDef_List {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp5 = obj.get_strategydef_list(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } }} after -> SelectorL, strategydef_list, StrategyDef_List {{ if (is_equal) history.pop(); }} before -> SelectorL, nodesubsetdef_list, NodeSubsetDef_List {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp6 = obj.get_nodesubsetdef_list(); if(temp6==null) { is_equal = false; return; } history.push(temp6); } }} after -> SelectorL, nodesubsetdef_list, NodeSubsetDef_List {{ if (is_equal) history.pop(); }} before -> SelectorL, selectorname, SelectorName {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp7 = obj.get_selectorname(); if(temp7==null) { is_equal = false; return; } history.push(temp7); } }} after -> SelectorL, selectorname, SelectorName {{ if (is_equal) history.pop(); }} before -> SelectorL, classdictionaryname, ClassDictionaryName {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp8 = obj.get_classdictionaryname(); if(temp8==null) { is_equal = false; return; } history.push(temp8); } }} after -> SelectorL, classdictionaryname, ClassDictionaryName {{ if (is_equal) history.pop(); }} before SelectorL {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> StrategyDef, strategyname, StrategyName {{ if (is_equal) { StrategyDef obj = (StrategyDef) history.peek(); Object temp9 = obj.get_strategyname(); if(temp9==null) { is_equal = false; return; } history.push(temp9); } }} after -> StrategyDef, strategyname, StrategyName {{ if (is_equal) history.pop(); }} before -> StrategyDef, strategyexpr, StrategyExpr {{ if (is_equal) { StrategyDef obj = (StrategyDef) history.peek(); Object temp10 = obj.get_strategyexpr(); if(temp10==null) { is_equal = false; return; } history.push(temp10); } }} after -> StrategyDef, strategyexpr, StrategyExpr {{ if (is_equal) history.pop(); }} before StrategyDef {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NodeSubsetDef, nodesubsetname, NodeSubsetName {{ if (is_equal) { NodeSubsetDef obj = (NodeSubsetDef) history.peek(); Object temp11 = obj.get_nodesubsetname(); if(temp11==null) { is_equal = false; return; } history.push(temp11); } }} after -> NodeSubsetDef, nodesubsetname, NodeSubsetName {{ if (is_equal) history.pop(); }} before -> NodeSubsetDef, nodesubsetexpression, NodeSubsetExpression {{ if (is_equal) { NodeSubsetDef obj = (NodeSubsetDef) history.peek(); Object temp12 = obj.get_nodesubsetexpression(); if(temp12==null) { is_equal = false; return; } history.push(temp12); } }} after -> NodeSubsetDef, nodesubsetexpression, NodeSubsetExpression {{ if (is_equal) history.pop(); }} before NodeSubsetDef {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before NodeSubsetExpression {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Simple {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> BCompound, op, BinaryOp {{ if (is_equal) { BCompound obj = (BCompound) history.peek(); Object temp13 = obj.get_op(); if(temp13==null) { is_equal = false; return; } history.push(temp13); } }} after -> BCompound, op, BinaryOp {{ if (is_equal) history.pop(); }} before -> BCompound, args, NodeSubsetExpression_PCList {{ if (is_equal) { BCompound obj = (BCompound) history.peek(); Object temp14 = obj.get_args(); if(temp14==null) { is_equal = false; return; } history.push(temp14); } }} after -> BCompound, args, NodeSubsetExpression_PCList {{ if (is_equal) history.pop(); }} before BCompound {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> UCompound, op, UnaryOp {{ if (is_equal) { UCompound obj = (UCompound) history.peek(); Object temp15 = obj.get_op(); if(temp15==null) { is_equal = false; return; } history.push(temp15); } }} after -> UCompound, op, UnaryOp {{ if (is_equal) history.pop(); }} before -> UCompound, arg, NodeSubsetExpression {{ if (is_equal) { UCompound obj = (UCompound) history.peek(); Object temp16 = obj.get_arg(); if(temp16==null) { is_equal = false; return; } history.push(temp16); } }} after -> UCompound, arg, NodeSubsetExpression {{ if (is_equal) history.pop(); }} before UCompound {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassNameSet, classname_bclist, ClassName_BCList {{ if (is_equal) { ClassNameSet obj = (ClassNameSet) history.peek(); Object temp17 = obj.get_classname_bclist(); if(temp17==null) { is_equal = false; return; } history.push(temp17); } }} after -> ClassNameSet, classname_bclist, ClassName_BCList {{ if (is_equal) history.pop(); }} before ClassNameSet {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> GraphNodes, strategyname, StrategyName {{ if (is_equal) { GraphNodes obj = (GraphNodes) history.peek(); Object temp18 = obj.get_strategyname(); if(temp18==null) { is_equal = false; return; } history.push(temp18); } }} after -> GraphNodes, strategyname, StrategyName {{ if (is_equal) history.pop(); }} before GraphNodes {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> GraphNodeRegExp, classname, ClassName {{ if (is_equal) { GraphNodeRegExp obj = (GraphNodeRegExp) history.peek(); Object temp19 = obj.get_classname(); if(temp19==null) { is_equal = false; return; } history.push(temp19); } }} after -> GraphNodeRegExp, classname, ClassName {{ if (is_equal) history.pop(); }} before -> GraphNodeRegExp, wildcard, WildCard {{ if (is_equal) { GraphNodeRegExp obj = (GraphNodeRegExp) history.peek(); Object temp20 = obj.get_wildcard(); if(temp20==null) { is_equal = false; return; } history.push(temp20); } }} after -> GraphNodeRegExp, wildcard, WildCard {{ if (is_equal) history.pop(); }} before GraphNodeRegExp {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before WildCard {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before BinaryOp {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before UnaryOp {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Union {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Intersection {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Complement {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassName, name, Name {{ if (is_equal) { ClassName obj = (ClassName) history.peek(); Object temp21 = obj.get_name(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } }} after -> ClassName, name, Name {{ if (is_equal) history.pop(); }} before ClassName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Name, first, Nonempty_Name {{ if (is_equal) { Name obj = (Name) history.peek(); Object temp22 = obj.get_first(); if(temp22==null) { is_equal = false; return; } history.push(temp22); } }} after -> Name, first, Nonempty_Name {{ if (is_equal) history.pop(); }} before Name {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassDict, cdtext, ConstText {{ if (is_equal) { ClassDict obj = (ClassDict) history.peek(); Object temp23 = obj.get_cdtext(); if(temp23==null) { is_equal = false; return; } history.push(temp23); } }} after -> ClassDict, cdtext, ConstText {{ if (is_equal) history.pop(); }} before ClassDict {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before StrategyExpr {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp24 = host.get_strategyString(); Object temp25 = ((StrategyExpr) obj).get_strategyString(); if(temp24 == null && temp25 == null) {} else if(temp24 == null || temp25 == null || !temp24.equals(temp25)) { is_equal = false; return; } }} before -> SelectorName, name, ConstIdent {{ if (is_equal) { SelectorName obj = (SelectorName) history.peek(); Object temp26 = obj.get_name(); if(temp26==null) { is_equal = false; return; } history.push(temp26); } }} after -> SelectorName, name, ConstIdent {{ if (is_equal) history.pop(); }} before SelectorName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> TraversalName, name, ConstIdent {{ if (is_equal) { TraversalName obj = (TraversalName) history.peek(); Object temp27 = obj.get_name(); if(temp27==null) { is_equal = false; return; } history.push(temp27); } }} after -> TraversalName, name, ConstIdent {{ if (is_equal) history.pop(); }} before TraversalName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> StrategyName, name, ConstIdent {{ if (is_equal) { StrategyName obj = (StrategyName) history.peek(); Object temp28 = obj.get_name(); if(temp28==null) { is_equal = false; return; } history.push(temp28); } }} after -> StrategyName, name, ConstIdent {{ if (is_equal) history.pop(); }} before StrategyName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NodeSubsetName, name, ConstIdent {{ if (is_equal) { NodeSubsetName obj = (NodeSubsetName) history.peek(); Object temp29 = obj.get_name(); if(temp29==null) { is_equal = false; return; } history.push(temp29); } }} after -> NodeSubsetName, name, ConstIdent {{ if (is_equal) history.pop(); }} before NodeSubsetName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassDictionaryName, name, ConstIdent {{ if (is_equal) { ClassDictionaryName obj = (ClassDictionaryName) history.peek(); Object temp30 = obj.get_name(); if(temp30==null) { is_equal = false; return; } history.push(temp30); } }} after -> ClassDictionaryName, name, ConstIdent {{ if (is_equal) history.pop(); }} before ClassDictionaryName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Operator {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ConstIdent {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp31 = host.get_ident(); Object temp32 = ((ConstIdent) obj).get_ident(); if(temp31 == null && temp32 == null) {} else if(temp31 == null || temp32 == null || !temp31.equals(temp32)) { is_equal = false; return; } }} before ConstText {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp33 = host.get_text(); Object temp34 = ((ConstText) obj).get_text(); if(temp33 == null && temp34 == null) {} else if(temp33 == null || temp34 == null || !temp33.equals(temp34)) { is_equal = false; return; } }} before Main {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before PrintVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_indent() == ((PrintVisitor) obj).get_indent(); is_equal = is_equal && host.get_needSpace() == ((PrintVisitor) obj).get_needSpace(); }} before CopyVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp35 = host.get_copy(); Object temp36 = ((CopyVisitor) obj).get_copy(); if(temp35 == null && temp36 == null) {} else if(temp35 == null || temp36 == null || !temp35.equals(temp36)) { is_equal = false; return; } }} before SubgraphVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_is_equal() == ((SubgraphVisitor) obj).get_is_equal(); }} before EqualVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_is_equal() == ((EqualVisitor) obj).get_is_equal(); }} before DisplayVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_indent() == ((DisplayVisitor) obj).get_indent(); }} before TraceVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; is_equal = is_equal && host.get_indent() == ((TraceVisitor) obj).get_indent(); }} before UniversalVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> AspectLanguage_List, first, Nonempty_AspectLanguage_List {{ if (is_equal) { AspectLanguage_List obj = (AspectLanguage_List) history.peek(); Object temp37 = obj.get_first(); if(temp37==null) { is_equal = false; return; } history.push(temp37); } }} after -> AspectLanguage_List, first, Nonempty_AspectLanguage_List {{ if (is_equal) history.pop(); }} before AspectLanguage_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> StrategyDef_List, first, Nonempty_StrategyDef_List {{ if (is_equal) { StrategyDef_List obj = (StrategyDef_List) history.peek(); Object temp38 = obj.get_first(); if(temp38==null) { is_equal = false; return; } history.push(temp38); } }} after -> StrategyDef_List, first, Nonempty_StrategyDef_List {{ if (is_equal) history.pop(); }} before StrategyDef_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NodeSubsetDef_List, first, Nonempty_NodeSubsetDef_List {{ if (is_equal) { NodeSubsetDef_List obj = (NodeSubsetDef_List) history.peek(); Object temp39 = obj.get_first(); if(temp39==null) { is_equal = false; return; } history.push(temp39); } }} after -> NodeSubsetDef_List, first, Nonempty_NodeSubsetDef_List {{ if (is_equal) history.pop(); }} before NodeSubsetDef_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NodeSubsetExpression_PCList, first, Nonempty_NodeSubsetExpression_PCList {{ if (is_equal) { NodeSubsetExpression_PCList obj = (NodeSubsetExpression_PCList) history.peek(); Object temp40 = obj.get_first(); if(temp40==null) { is_equal = false; return; } history.push(temp40); } }} after -> NodeSubsetExpression_PCList, first, Nonempty_NodeSubsetExpression_PCList {{ if (is_equal) history.pop(); }} before NodeSubsetExpression_PCList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassName_BCList, first, Nonempty_ClassName_BCList {{ if (is_equal) { ClassName_BCList obj = (ClassName_BCList) history.peek(); Object temp41 = obj.get_first(); if(temp41==null) { is_equal = false; return; } history.push(temp41); } }} after -> ClassName_BCList, first, Nonempty_ClassName_BCList {{ if (is_equal) history.pop(); }} before ClassName_BCList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Name, it, ConstIdent {{ if (is_equal) { Nonempty_Name obj = (Nonempty_Name) history.peek(); Object temp42 = obj.get_it(); if(temp42==null) { is_equal = false; return; } history.push(temp42); } }} after -> Nonempty_Name, it, ConstIdent {{ if (is_equal) history.pop(); }} before -> Nonempty_Name, next, Nonempty_Name {{ if (is_equal) { Nonempty_Name obj = (Nonempty_Name) history.peek(); Object temp43 = obj.get_next(); if(temp43==null) { is_equal = false; return; } history.push(temp43); } }} after -> Nonempty_Name, next, Nonempty_Name {{ if (is_equal) history.pop(); }} before Nonempty_Name {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_AspectLanguage_List, it, AspectLanguage {{ if (is_equal) { Nonempty_AspectLanguage_List obj = (Nonempty_AspectLanguage_List) history.peek(); Object temp44 = obj.get_it(); if(temp44==null) { is_equal = false; return; } history.push(temp44); } }} after -> Nonempty_AspectLanguage_List, it, AspectLanguage {{ if (is_equal) history.pop(); }} before -> Nonempty_AspectLanguage_List, next, Nonempty_AspectLanguage_List {{ if (is_equal) { Nonempty_AspectLanguage_List obj = (Nonempty_AspectLanguage_List) history.peek(); Object temp45 = obj.get_next(); if(temp45==null) { is_equal = false; return; } history.push(temp45); } }} after -> Nonempty_AspectLanguage_List, next, Nonempty_AspectLanguage_List {{ if (is_equal) history.pop(); }} before Nonempty_AspectLanguage_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_StrategyDef_List, it, StrategyDef {{ if (is_equal) { Nonempty_StrategyDef_List obj = (Nonempty_StrategyDef_List) history.peek(); Object temp46 = obj.get_it(); if(temp46==null) { is_equal = false; return; } history.push(temp46); } }} after -> Nonempty_StrategyDef_List, it, StrategyDef {{ if (is_equal) history.pop(); }} before -> Nonempty_StrategyDef_List, next, Nonempty_StrategyDef_List {{ if (is_equal) { Nonempty_StrategyDef_List obj = (Nonempty_StrategyDef_List) history.peek(); Object temp47 = obj.get_next(); if(temp47==null) { is_equal = false; return; } history.push(temp47); } }} after -> Nonempty_StrategyDef_List, next, Nonempty_StrategyDef_List {{ if (is_equal) history.pop(); }} before Nonempty_StrategyDef_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_NodeSubsetDef_List, it, NodeSubsetDef {{ if (is_equal) { Nonempty_NodeSubsetDef_List obj = (Nonempty_NodeSubsetDef_List) history.peek(); Object temp48 = obj.get_it(); if(temp48==null) { is_equal = false; return; } history.push(temp48); } }} after -> Nonempty_NodeSubsetDef_List, it, NodeSubsetDef {{ if (is_equal) history.pop(); }} before -> Nonempty_NodeSubsetDef_List, next, Nonempty_NodeSubsetDef_List {{ if (is_equal) { Nonempty_NodeSubsetDef_List obj = (Nonempty_NodeSubsetDef_List) history.peek(); Object temp49 = obj.get_next(); if(temp49==null) { is_equal = false; return; } history.push(temp49); } }} after -> Nonempty_NodeSubsetDef_List, next, Nonempty_NodeSubsetDef_List {{ if (is_equal) history.pop(); }} before Nonempty_NodeSubsetDef_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_NodeSubsetExpression_PCList, it, NodeSubsetExpression {{ if (is_equal) { Nonempty_NodeSubsetExpression_PCList obj = (Nonempty_NodeSubsetExpression_PCList) history.peek(); Object temp50 = obj.get_it(); if(temp50==null) { is_equal = false; return; } history.push(temp50); } }} after -> Nonempty_NodeSubsetExpression_PCList, it, NodeSubsetExpression {{ if (is_equal) history.pop(); }} before -> Nonempty_NodeSubsetExpression_PCList, next, Nonempty_NodeSubsetExpression_PCList {{ if (is_equal) { Nonempty_NodeSubsetExpression_PCList obj = (Nonempty_NodeSubsetExpression_PCList) history.peek(); Object temp51 = obj.get_next(); if(temp51==null) { is_equal = false; return; } history.push(temp51); } }} after -> Nonempty_NodeSubsetExpression_PCList, next, Nonempty_NodeSubsetExpression_PCList {{ if (is_equal) history.pop(); }} before Nonempty_NodeSubsetExpression_PCList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_ClassName_BCList, it, ClassName {{ if (is_equal) { Nonempty_ClassName_BCList obj = (Nonempty_ClassName_BCList) history.peek(); Object temp52 = obj.get_it(); if(temp52==null) { is_equal = false; return; } history.push(temp52); } }} after -> Nonempty_ClassName_BCList, it, ClassName {{ if (is_equal) history.pop(); }} before -> Nonempty_ClassName_BCList, next, Nonempty_ClassName_BCList {{ if (is_equal) { Nonempty_ClassName_BCList obj = (Nonempty_ClassName_BCList) history.peek(); Object temp53 = obj.get_next(); if(temp53==null) { is_equal = false; return; } history.push(temp53); } }} after -> Nonempty_ClassName_BCList, next, Nonempty_ClassName_BCList {{ if (is_equal) history.pop(); }} before Nonempty_ClassName_BCList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} return boolean {{ is_equal }} }