// This file is automatically generated by DemeterJ. SubgraphVisitor { {{ private java.util.Stack history = new java.util.Stack(); public SubgraphVisitor(Object obj) { history.push(obj); } }} before Main {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before CollectVisitor {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> XAspectLanguage2, aspectlanguage_list, AspectLanguage_List {{ if (is_equal) { XAspectLanguage2 obj = (XAspectLanguage2) history.peek(); Object temp1 = obj.get_aspectlanguage_list(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } }} after -> XAspectLanguage2, aspectlanguage_list, AspectLanguage_List {{ if (is_equal) history.pop(); }} before XAspectLanguage2 {{ 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 ClassDictionaryName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp4 = host.get_ident(); Object temp5 = ((ClassDictionaryName) obj).get_ident(); if(temp4 == null && temp5 == null) {} else if(temp4 == null || temp5 == null || !temp4.equals(temp5)) { is_equal = false; return; } }} before TraversalName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp6 = host.get_ident(); Object temp7 = ((TraversalName) obj).get_ident(); if(temp6 == null && temp7 == null) {} else if(temp6 == null || temp7 == null || !temp6.equals(temp7)) { is_equal = false; return; } }} before -> SelectorL, traversalname, TraversalName {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp8 = obj.get_traversalname(); if(temp8==null) { is_equal = false; return; } history.push(temp8); } }} after -> SelectorL, traversalname, TraversalName {{ if (is_equal) history.pop(); }} before -> SelectorL, strategydef_list, StrategyDef_List {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp9 = obj.get_strategydef_list(); if(temp9==null) { is_equal = false; return; } history.push(temp9); } }} 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 temp10 = obj.get_nodesubsetdef_list(); if(temp10==null) { is_equal = false; return; } history.push(temp10); } }} after -> SelectorL, nodesubsetdef_list, NodeSubsetDef_List {{ if (is_equal) history.pop(); }} before -> SelectorL, selectorname, SelectorName {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp11 = obj.get_selectorname(); if(temp11==null) { is_equal = false; return; } history.push(temp11); } }} after -> SelectorL, selectorname, SelectorName {{ if (is_equal) history.pop(); }} before -> SelectorL, classdictionaryname, ClassDictionaryName {{ if (is_equal) { SelectorL obj = (SelectorL) history.peek(); Object temp12 = obj.get_classdictionaryname(); if(temp12==null) { is_equal = false; return; } history.push(temp12); } }} 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 temp13 = obj.get_strategyname(); if(temp13==null) { is_equal = false; return; } history.push(temp13); } }} after -> StrategyDef, strategyname, StrategyName {{ if (is_equal) history.pop(); }} before -> StrategyDef, strategyexpression, StrategyExpression {{ if (is_equal) { StrategyDef obj = (StrategyDef) history.peek(); Object temp14 = obj.get_strategyexpression(); if(temp14==null) { is_equal = false; return; } history.push(temp14); } }} after -> StrategyDef, strategyexpression, StrategyExpression {{ 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 temp15 = obj.get_nodesubsetname(); if(temp15==null) { is_equal = false; return; } history.push(temp15); } }} after -> NodeSubsetDef, nodesubsetname, NodeSubsetName {{ if (is_equal) history.pop(); }} before -> NodeSubsetDef, nodesubsetexpression, NodeSubsetExpression {{ if (is_equal) { NodeSubsetDef obj = (NodeSubsetDef) history.peek(); Object temp16 = obj.get_nodesubsetexpression(); if(temp16==null) { is_equal = false; return; } history.push(temp16); } }} 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 SelectorName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp17 = host.get_ident(); Object temp18 = ((SelectorName) obj).get_ident(); if(temp17 == null && temp18 == null) {} else if(temp17 == null || temp18 == null || !temp17.equals(temp18)) { is_equal = false; return; } }} before ClassDict {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp19 = host.get_text(); Object temp20 = ((ClassDict) obj).get_text(); if(temp19 == null && temp20 == null) {} else if(temp19 == null || temp20 == null || !temp19.equals(temp20)) { is_equal = false; 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 temp21 = obj.get_op(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } }} after -> BCompound, op, BinaryOp {{ if (is_equal) history.pop(); }} before -> BCompound, args, NodeSubsetExpression_PCList {{ if (is_equal) { BCompound obj = (BCompound) history.peek(); Object temp22 = obj.get_args(); if(temp22==null) { is_equal = false; return; } history.push(temp22); } }} 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 temp23 = obj.get_op(); if(temp23==null) { is_equal = false; return; } history.push(temp23); } }} after -> UCompound, op, UnaryOp {{ if (is_equal) history.pop(); }} before -> UCompound, arg, NodeSubsetExpression {{ if (is_equal) { UCompound obj = (UCompound) history.peek(); Object temp24 = obj.get_arg(); if(temp24==null) { is_equal = false; return; } history.push(temp24); } }} 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 Operator {{ 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 -> ClassNameSet, classname_bclist, ClassName_BCList {{ if (is_equal) { ClassNameSet obj = (ClassNameSet) history.peek(); Object temp25 = obj.get_classname_bclist(); if(temp25==null) { is_equal = false; return; } history.push(temp25); } }} 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 temp26 = obj.get_strategyname(); if(temp26==null) { is_equal = false; return; } history.push(temp26); } }} 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 temp27 = obj.get_classname(); if(temp27==null) { is_equal = false; return; } history.push(temp27); } }} after -> GraphNodeRegExp, classname, ClassName {{ if (is_equal) history.pop(); }} before -> GraphNodeRegExp, wildcard, WildCard {{ if (is_equal) { GraphNodeRegExp obj = (GraphNodeRegExp) history.peek(); Object temp28 = obj.get_wildcard(); if(temp28==null) { is_equal = false; return; } history.push(temp28); } }} 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 -> StrategyExpression, strategy, Strategy {{ if (is_equal) { StrategyExpression obj = (StrategyExpression) history.peek(); Object temp29 = obj.get_strategy(); if(temp29==null) { is_equal = false; return; } history.push(temp29); } }} after -> StrategyExpression, strategy, Strategy {{ if (is_equal) history.pop(); }} before StrategyExpression {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Strategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SimpleStrategy, parsedNameMap, NameMap {{ if (is_equal) { SimpleStrategy obj = (SimpleStrategy) history.peek(); Object temp30 = obj.get_parsedNameMap(); if(temp30==null) { is_equal = false; return; } history.push(temp30); } }} after -> SimpleStrategy, parsedNameMap, NameMap {{ if (is_equal) history.pop(); }} before SimpleStrategy {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> StrategyGraph, edges, SGEdge_SList {{ if (is_equal) { StrategyGraph obj = (StrategyGraph) history.peek(); Object temp31 = obj.get_edges(); if(temp31==null) { is_equal = false; return; } history.push(temp31); } }} after -> StrategyGraph, edges, SGEdge_SList {{ if (is_equal) history.pop(); }} before StrategyGraph {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SGEdge, sourcemarker, SourceMarker {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp32 = obj.get_sourcemarker(); if(temp32==null) { is_equal = false; return; } history.push(temp32); } }} after -> SGEdge, sourcemarker, SourceMarker {{ if (is_equal) history.pop(); }} before -> SGEdge, source, GlobSpec {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp33 = obj.get_source(); if(temp33==null) { is_equal = false; return; } history.push(temp33); } }} after -> SGEdge, source, GlobSpec {{ if (is_equal) history.pop(); }} before -> SGEdge, targetmarker, TargetMarker {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp34 = obj.get_targetmarker(); if(temp34==null) { is_equal = false; return; } history.push(temp34); } }} after -> SGEdge, targetmarker, TargetMarker {{ if (is_equal) history.pop(); }} before -> SGEdge, target, GlobSpec {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp35 = obj.get_target(); if(temp35==null) { is_equal = false; return; } history.push(temp35); } }} after -> SGEdge, target, GlobSpec {{ if (is_equal) history.pop(); }} before -> SGEdge, constraint, NegativeConstraint {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp36 = obj.get_constraint(); if(temp36==null) { is_equal = false; return; } history.push(temp36); } }} after -> SGEdge, constraint, NegativeConstraint {{ if (is_equal) history.pop(); }} before SGEdge {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before SourceMarker {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before TargetMarker {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> PathDirective, source, SourceDirective {{ if (is_equal) { PathDirective obj = (PathDirective) history.peek(); Object temp37 = obj.get_source(); if(temp37==null) { is_equal = false; return; } history.push(temp37); } }} after -> PathDirective, source, SourceDirective {{ if (is_equal) history.pop(); }} before -> PathDirective, constraint, NegativeConstraint {{ if (is_equal) { PathDirective obj = (PathDirective) history.peek(); Object temp38 = obj.get_constraint(); if(temp38==null) { is_equal = false; return; } history.push(temp38); } }} after -> PathDirective, constraint, NegativeConstraint {{ if (is_equal) history.pop(); }} before -> PathDirective, segments, PathSegment_List {{ if (is_equal) { PathDirective obj = (PathDirective) history.peek(); Object temp39 = obj.get_segments(); if(temp39==null) { is_equal = false; return; } history.push(temp39); } }} after -> PathDirective, segments, PathSegment_List {{ if (is_equal) history.pop(); }} before -> PathDirective, target, TargetDirective {{ if (is_equal) { PathDirective obj = (PathDirective) history.peek(); Object temp40 = obj.get_target(); if(temp40==null) { is_equal = false; return; } history.push(temp40); } }} after -> PathDirective, target, TargetDirective {{ if (is_equal) history.pop(); }} before PathDirective {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SourceDirective, sources, ClassGlobSpec {{ if (is_equal) { SourceDirective obj = (SourceDirective) history.peek(); Object temp41 = obj.get_sources(); if(temp41==null) { is_equal = false; return; } history.push(temp41); } }} after -> SourceDirective, sources, ClassGlobSpec {{ if (is_equal) history.pop(); }} before SourceDirective {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before From {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> PathSegment, node, PositiveConstraint {{ if (is_equal) { PathSegment obj = (PathSegment) history.peek(); Object temp42 = obj.get_node(); if(temp42==null) { is_equal = false; return; } history.push(temp42); } }} after -> PathSegment, node, PositiveConstraint {{ if (is_equal) history.pop(); }} before -> PathSegment, constraint, NegativeConstraint {{ if (is_equal) { PathSegment obj = (PathSegment) history.peek(); Object temp43 = obj.get_constraint(); if(temp43==null) { is_equal = false; return; } history.push(temp43); } }} after -> PathSegment, constraint, NegativeConstraint {{ if (is_equal) history.pop(); }} before PathSegment {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Constraint, glob, GlobSpec {{ if (is_equal) { Constraint obj = (Constraint) history.peek(); Object temp44 = obj.get_glob(); if(temp44==null) { is_equal = false; return; } history.push(temp44); } }} after -> Constraint, glob, GlobSpec {{ if (is_equal) history.pop(); }} before Constraint {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before PositiveConstraint {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Through {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Via {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before NegativeConstraint {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Bypassing {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before OnlyThrough {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> TargetDirective, targets, ClassGlobSpec {{ if (is_equal) { TargetDirective obj = (TargetDirective) history.peek(); Object temp45 = obj.get_targets(); if(temp45==null) { is_equal = false; return; } history.push(temp45); } }} after -> TargetDirective, targets, ClassGlobSpec {{ if (is_equal) history.pop(); }} before TargetDirective {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before To {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ToStop {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> StrategyCombination, first, Strategy {{ if (is_equal) { StrategyCombination obj = (StrategyCombination) history.peek(); Object temp46 = obj.get_first(); if(temp46==null) { is_equal = false; return; } history.push(temp46); } }} after -> StrategyCombination, first, Strategy {{ if (is_equal) history.pop(); }} before -> StrategyCombination, rest, Strategy_Commalist {{ if (is_equal) { StrategyCombination obj = (StrategyCombination) history.peek(); Object temp47 = obj.get_rest(); if(temp47==null) { is_equal = false; return; } history.push(temp47); } }} after -> StrategyCombination, rest, Strategy_Commalist {{ if (is_equal) history.pop(); }} before StrategyCombination {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Join {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Merge {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Intersect {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before StrategyReference {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp48 = host.get_ident(); Object temp49 = ((StrategyReference) obj).get_ident(); if(temp48 == null && temp49 == null) {} else if(temp48 == null || temp49 == null || !temp48.equals(temp49)) { is_equal = false; return; } }} before SymbolicNameMap {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NameMap, bindings, NameBinding_Commalist {{ if (is_equal) { NameMap obj = (NameMap) history.peek(); Object temp50 = obj.get_bindings(); if(temp50==null) { is_equal = false; return; } history.push(temp50); } }} after -> NameMap, bindings, NameBinding_Commalist {{ if (is_equal) history.pop(); }} before NameMap {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NameBinding, sgName, Name {{ if (is_equal) { NameBinding obj = (NameBinding) history.peek(); Object temp51 = obj.get_sgName(); if(temp51==null) { is_equal = false; return; } history.push(temp51); } }} after -> NameBinding, sgName, Name {{ if (is_equal) history.pop(); }} before -> NameBinding, cgNames, ClassGlobSpec {{ if (is_equal) { NameBinding obj = (NameBinding) history.peek(); Object temp52 = obj.get_cgNames(); if(temp52==null) { is_equal = false; return; } history.push(temp52); } }} after -> NameBinding, cgNames, ClassGlobSpec {{ if (is_equal) history.pop(); }} before NameBinding {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before GlobSpec {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> OneGlob, glob, Glob {{ if (is_equal) { OneGlob obj = (OneGlob) history.peek(); Object temp53 = obj.get_glob(); if(temp53==null) { is_equal = false; return; } history.push(temp53); } }} after -> OneGlob, glob, Glob {{ if (is_equal) history.pop(); }} before OneGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> GlobSet, globs, Glob_Commalist {{ if (is_equal) { GlobSet obj = (GlobSet) history.peek(); Object temp54 = obj.get_globs(); if(temp54==null) { is_equal = false; return; } history.push(temp54); } }} after -> GlobSet, globs, Glob_Commalist {{ if (is_equal) history.pop(); }} before GlobSet {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before Glob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before EdgeGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassGlob, name, ClassNameGlob {{ if (is_equal) { ClassGlob obj = (ClassGlob) history.peek(); Object temp55 = obj.get_name(); if(temp55==null) { is_equal = false; return; } history.push(temp55); } }} after -> ClassGlob, name, ClassNameGlob {{ if (is_equal) history.pop(); }} before ClassGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> PartGlob, source, SourceGlob {{ if (is_equal) { PartGlob obj = (PartGlob) history.peek(); Object temp56 = obj.get_source(); if(temp56==null) { is_equal = false; return; } history.push(temp56); } }} after -> PartGlob, source, SourceGlob {{ if (is_equal) history.pop(); }} before -> PartGlob, name, PartNameGlob {{ if (is_equal) { PartGlob obj = (PartGlob) history.peek(); Object temp57 = obj.get_name(); if(temp57==null) { is_equal = false; return; } history.push(temp57); } }} after -> PartGlob, name, PartNameGlob {{ if (is_equal) history.pop(); }} before -> PartGlob, target, TargetGlob {{ if (is_equal) { PartGlob obj = (PartGlob) history.peek(); Object temp58 = obj.get_target(); if(temp58==null) { is_equal = false; return; } history.push(temp58); } }} after -> PartGlob, target, TargetGlob {{ if (is_equal) history.pop(); }} before PartGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SubclassGlob, source, SourceGlob {{ if (is_equal) { SubclassGlob obj = (SubclassGlob) history.peek(); Object temp59 = obj.get_source(); if(temp59==null) { is_equal = false; return; } history.push(temp59); } }} after -> SubclassGlob, source, SourceGlob {{ if (is_equal) history.pop(); }} before -> SubclassGlob, target, TargetGlob {{ if (is_equal) { SubclassGlob obj = (SubclassGlob) history.peek(); Object temp60 = obj.get_target(); if(temp60==null) { is_equal = false; return; } history.push(temp60); } }} after -> SubclassGlob, target, TargetGlob {{ if (is_equal) history.pop(); }} before SubclassGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SuperclassGlob, source, SourceGlob {{ if (is_equal) { SuperclassGlob obj = (SuperclassGlob) history.peek(); Object temp61 = obj.get_source(); if(temp61==null) { is_equal = false; return; } history.push(temp61); } }} after -> SuperclassGlob, source, SourceGlob {{ if (is_equal) history.pop(); }} before -> SuperclassGlob, target, TargetGlob {{ if (is_equal) { SuperclassGlob obj = (SuperclassGlob) history.peek(); Object temp62 = obj.get_target(); if(temp62==null) { is_equal = false; return; } history.push(temp62); } }} after -> SuperclassGlob, target, TargetGlob {{ if (is_equal) history.pop(); }} before SuperclassGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> SourceGlob, name, ClassNameGlob {{ if (is_equal) { SourceGlob obj = (SourceGlob) history.peek(); Object temp63 = obj.get_name(); if(temp63==null) { is_equal = false; return; } history.push(temp63); } }} after -> SourceGlob, name, ClassNameGlob {{ if (is_equal) history.pop(); }} before SourceGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> TargetGlob, name, ClassNameGlob {{ if (is_equal) { TargetGlob obj = (TargetGlob) history.peek(); Object temp64 = obj.get_name(); if(temp64==null) { is_equal = false; return; } history.push(temp64); } }} after -> TargetGlob, name, ClassNameGlob {{ if (is_equal) history.pop(); }} before TargetGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ClassNameGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassNameExact, classname, ClassName {{ if (is_equal) { ClassNameExact obj = (ClassNameExact) history.peek(); Object temp65 = obj.get_classname(); if(temp65==null) { is_equal = false; return; } history.push(temp65); } }} after -> ClassNameExact, classname, ClassName {{ if (is_equal) history.pop(); }} before ClassNameExact {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before AnyClass {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before PartNameGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> PartNameExact, partname, PartName {{ if (is_equal) { PartNameExact obj = (PartNameExact) history.peek(); Object temp66 = obj.get_partname(); if(temp66==null) { is_equal = false; return; } history.push(temp66); } }} after -> PartNameExact, partname, PartName {{ if (is_equal) history.pop(); }} before PartNameExact {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before AnyPart {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before ClassGlobSpec {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> OneClassGlob, classglob, ClassGlob {{ if (is_equal) { OneClassGlob obj = (OneClassGlob) history.peek(); Object temp67 = obj.get_classglob(); if(temp67==null) { is_equal = false; return; } history.push(temp67); } }} after -> OneClassGlob, classglob, ClassGlob {{ if (is_equal) history.pop(); }} before OneClassGlob {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassGlobSet, globs, ClassGlob_Commalist {{ if (is_equal) { ClassGlobSet obj = (ClassGlobSet) history.peek(); Object temp68 = obj.get_globs(); if(temp68==null) { is_equal = false; return; } history.push(temp68); } }} after -> ClassGlobSet, globs, ClassGlob_Commalist {{ if (is_equal) history.pop(); }} before ClassGlobSet {{ 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 temp69 = obj.get_name(); if(temp69==null) { is_equal = false; return; } history.push(temp69); } }} 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 PartName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp70 = host.get_name(); Object temp71 = ((PartName) obj).get_name(); if(temp70 == null && temp71 == null) {} else if(temp70 == null || temp71 == null || !temp70.equals(temp71)) { is_equal = false; return; } }} before -> Name, first, Nonempty_Name {{ if (is_equal) { Name obj = (Name) history.peek(); Object temp72 = obj.get_first(); if(temp72==null) { is_equal = false; return; } history.push(temp72); } }} 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 StrategyName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp73 = host.get_name(); Object temp74 = ((StrategyName) obj).get_name(); if(temp73 == null && temp74 == null) {} else if(temp73 == null || temp74 == null || !temp73.equals(temp74)) { is_equal = false; return; } }} before NodeSubsetName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp75 = host.get_name(); Object temp76 = ((NodeSubsetName) obj).get_name(); if(temp75 == null && temp76 == null) {} else if(temp75 == null || temp76 == null || !temp75.equals(temp76)) { is_equal = false; return; } }} before SymbolicNameMapI {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before GlobVisitor {{ 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 temp77 = host.get_copy(); Object temp78 = ((CopyVisitor) obj).get_copy(); if(temp77 == null && temp78 == null) {} else if(temp77 == null || temp78 == null || !temp77.equals(temp78)) { 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 temp79 = obj.get_first(); if(temp79==null) { is_equal = false; return; } history.push(temp79); } }} 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 temp80 = obj.get_first(); if(temp80==null) { is_equal = false; return; } history.push(temp80); } }} 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 temp81 = obj.get_first(); if(temp81==null) { is_equal = false; return; } history.push(temp81); } }} 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 temp82 = obj.get_first(); if(temp82==null) { is_equal = false; return; } history.push(temp82); } }} 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 temp83 = obj.get_first(); if(temp83==null) { is_equal = false; return; } history.push(temp83); } }} 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 -> SGEdge_SList, first, Nonempty_SGEdge_SList {{ if (is_equal) { SGEdge_SList obj = (SGEdge_SList) history.peek(); Object temp84 = obj.get_first(); if(temp84==null) { is_equal = false; return; } history.push(temp84); } }} after -> SGEdge_SList, first, Nonempty_SGEdge_SList {{ if (is_equal) history.pop(); }} before SGEdge_SList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> PathSegment_List, first, Nonempty_PathSegment_List {{ if (is_equal) { PathSegment_List obj = (PathSegment_List) history.peek(); Object temp85 = obj.get_first(); if(temp85==null) { is_equal = false; return; } history.push(temp85); } }} after -> PathSegment_List, first, Nonempty_PathSegment_List {{ if (is_equal) history.pop(); }} before PathSegment_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Strategy_Commalist, first, Nonempty_Strategy_Commalist {{ if (is_equal) { Strategy_Commalist obj = (Strategy_Commalist) history.peek(); Object temp86 = obj.get_first(); if(temp86==null) { is_equal = false; return; } history.push(temp86); } }} after -> Strategy_Commalist, first, Nonempty_Strategy_Commalist {{ if (is_equal) history.pop(); }} before Strategy_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> NameBinding_Commalist, first, Nonempty_NameBinding_Commalist {{ if (is_equal) { NameBinding_Commalist obj = (NameBinding_Commalist) history.peek(); Object temp87 = obj.get_first(); if(temp87==null) { is_equal = false; return; } history.push(temp87); } }} after -> NameBinding_Commalist, first, Nonempty_NameBinding_Commalist {{ if (is_equal) history.pop(); }} before NameBinding_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Glob_Commalist, first, Nonempty_Glob_Commalist {{ if (is_equal) { Glob_Commalist obj = (Glob_Commalist) history.peek(); Object temp88 = obj.get_first(); if(temp88==null) { is_equal = false; return; } history.push(temp88); } }} after -> Glob_Commalist, first, Nonempty_Glob_Commalist {{ if (is_equal) history.pop(); }} before Glob_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> ClassGlob_Commalist, first, Nonempty_ClassGlob_Commalist {{ if (is_equal) { ClassGlob_Commalist obj = (ClassGlob_Commalist) history.peek(); Object temp89 = obj.get_first(); if(temp89==null) { is_equal = false; return; } history.push(temp89); } }} after -> ClassGlob_Commalist, first, Nonempty_ClassGlob_Commalist {{ if (is_equal) history.pop(); }} before ClassGlob_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Name, next, Nonempty_Name {{ if (is_equal) { Nonempty_Name obj = (Nonempty_Name) history.peek(); Object temp92 = obj.get_next(); if(temp92==null) { is_equal = false; return; } history.push(temp92); } }} 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; Object temp90 = host.get_it(); Object temp91 = ((Nonempty_Name) obj).get_it(); if(temp90 == null && temp91 == null) {} else if(temp90 == null || temp91 == null || !temp90.equals(temp91)) { is_equal = false; return; } }} before -> Nonempty_AspectLanguage_List, it, AspectLanguage {{ if (is_equal) { Nonempty_AspectLanguage_List obj = (Nonempty_AspectLanguage_List) history.peek(); Object temp93 = obj.get_it(); if(temp93==null) { is_equal = false; return; } history.push(temp93); } }} 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 temp94 = obj.get_next(); if(temp94==null) { is_equal = false; return; } history.push(temp94); } }} 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 temp95 = obj.get_it(); if(temp95==null) { is_equal = false; return; } history.push(temp95); } }} 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 temp96 = obj.get_next(); if(temp96==null) { is_equal = false; return; } history.push(temp96); } }} 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 temp97 = obj.get_it(); if(temp97==null) { is_equal = false; return; } history.push(temp97); } }} 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 temp98 = obj.get_next(); if(temp98==null) { is_equal = false; return; } history.push(temp98); } }} 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 temp99 = obj.get_it(); if(temp99==null) { is_equal = false; return; } history.push(temp99); } }} 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 temp100 = obj.get_next(); if(temp100==null) { is_equal = false; return; } history.push(temp100); } }} 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 temp101 = obj.get_it(); if(temp101==null) { is_equal = false; return; } history.push(temp101); } }} 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 temp102 = obj.get_next(); if(temp102==null) { is_equal = false; return; } history.push(temp102); } }} 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; }} before -> Nonempty_SGEdge_SList, it, SGEdge {{ if (is_equal) { Nonempty_SGEdge_SList obj = (Nonempty_SGEdge_SList) history.peek(); Object temp103 = obj.get_it(); if(temp103==null) { is_equal = false; return; } history.push(temp103); } }} after -> Nonempty_SGEdge_SList, it, SGEdge {{ if (is_equal) history.pop(); }} before -> Nonempty_SGEdge_SList, next, Nonempty_SGEdge_SList {{ if (is_equal) { Nonempty_SGEdge_SList obj = (Nonempty_SGEdge_SList) history.peek(); Object temp104 = obj.get_next(); if(temp104==null) { is_equal = false; return; } history.push(temp104); } }} after -> Nonempty_SGEdge_SList, next, Nonempty_SGEdge_SList {{ if (is_equal) history.pop(); }} before Nonempty_SGEdge_SList {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_PathSegment_List, it, PathSegment {{ if (is_equal) { Nonempty_PathSegment_List obj = (Nonempty_PathSegment_List) history.peek(); Object temp105 = obj.get_it(); if(temp105==null) { is_equal = false; return; } history.push(temp105); } }} after -> Nonempty_PathSegment_List, it, PathSegment {{ if (is_equal) history.pop(); }} before -> Nonempty_PathSegment_List, next, Nonempty_PathSegment_List {{ if (is_equal) { Nonempty_PathSegment_List obj = (Nonempty_PathSegment_List) history.peek(); Object temp106 = obj.get_next(); if(temp106==null) { is_equal = false; return; } history.push(temp106); } }} after -> Nonempty_PathSegment_List, next, Nonempty_PathSegment_List {{ if (is_equal) history.pop(); }} before Nonempty_PathSegment_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Strategy_Commalist, it, Strategy {{ if (is_equal) { Nonempty_Strategy_Commalist obj = (Nonempty_Strategy_Commalist) history.peek(); Object temp107 = obj.get_it(); if(temp107==null) { is_equal = false; return; } history.push(temp107); } }} after -> Nonempty_Strategy_Commalist, it, Strategy {{ if (is_equal) history.pop(); }} before -> Nonempty_Strategy_Commalist, next, Nonempty_Strategy_Commalist {{ if (is_equal) { Nonempty_Strategy_Commalist obj = (Nonempty_Strategy_Commalist) history.peek(); Object temp108 = obj.get_next(); if(temp108==null) { is_equal = false; return; } history.push(temp108); } }} after -> Nonempty_Strategy_Commalist, next, Nonempty_Strategy_Commalist {{ if (is_equal) history.pop(); }} before Nonempty_Strategy_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_NameBinding_Commalist, it, NameBinding {{ if (is_equal) { Nonempty_NameBinding_Commalist obj = (Nonempty_NameBinding_Commalist) history.peek(); Object temp109 = obj.get_it(); if(temp109==null) { is_equal = false; return; } history.push(temp109); } }} after -> Nonempty_NameBinding_Commalist, it, NameBinding {{ if (is_equal) history.pop(); }} before -> Nonempty_NameBinding_Commalist, next, Nonempty_NameBinding_Commalist {{ if (is_equal) { Nonempty_NameBinding_Commalist obj = (Nonempty_NameBinding_Commalist) history.peek(); Object temp110 = obj.get_next(); if(temp110==null) { is_equal = false; return; } history.push(temp110); } }} after -> Nonempty_NameBinding_Commalist, next, Nonempty_NameBinding_Commalist {{ if (is_equal) history.pop(); }} before Nonempty_NameBinding_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Glob_Commalist, it, Glob {{ if (is_equal) { Nonempty_Glob_Commalist obj = (Nonempty_Glob_Commalist) history.peek(); Object temp111 = obj.get_it(); if(temp111==null) { is_equal = false; return; } history.push(temp111); } }} after -> Nonempty_Glob_Commalist, it, Glob {{ if (is_equal) history.pop(); }} before -> Nonempty_Glob_Commalist, next, Nonempty_Glob_Commalist {{ if (is_equal) { Nonempty_Glob_Commalist obj = (Nonempty_Glob_Commalist) history.peek(); Object temp112 = obj.get_next(); if(temp112==null) { is_equal = false; return; } history.push(temp112); } }} after -> Nonempty_Glob_Commalist, next, Nonempty_Glob_Commalist {{ if (is_equal) history.pop(); }} before Nonempty_Glob_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_ClassGlob_Commalist, it, ClassGlob {{ if (is_equal) { Nonempty_ClassGlob_Commalist obj = (Nonempty_ClassGlob_Commalist) history.peek(); Object temp113 = obj.get_it(); if(temp113==null) { is_equal = false; return; } history.push(temp113); } }} after -> Nonempty_ClassGlob_Commalist, it, ClassGlob {{ if (is_equal) history.pop(); }} before -> Nonempty_ClassGlob_Commalist, next, Nonempty_ClassGlob_Commalist {{ if (is_equal) { Nonempty_ClassGlob_Commalist obj = (Nonempty_ClassGlob_Commalist) history.peek(); Object temp114 = obj.get_next(); if(temp114==null) { is_equal = false; return; } history.push(temp114); } }} after -> Nonempty_ClassGlob_Commalist, next, Nonempty_ClassGlob_Commalist {{ if (is_equal) history.pop(); }} before Nonempty_ClassGlob_Commalist {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} return boolean {{ is_equal }} }