// 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 -> StratSeq, decls, Decls {{ if (is_equal) { StratSeq obj = (StratSeq) history.peek(); Object temp1 = obj.get_decls(); if(temp1==null) { is_equal = false; return; } history.push(temp1); } }} after -> StratSeq, decls, Decls {{ if (is_equal) history.pop(); }} before -> StratSeq, strategyexpression_sequence, StrategyExpression_Sequence {{ if (is_equal) { StratSeq obj = (StratSeq) history.peek(); Object temp2 = obj.get_strategyexpression_sequence(); if(temp2==null) { is_equal = false; return; } history.push(temp2); } }} after -> StratSeq, strategyexpression_sequence, StrategyExpression_Sequence {{ if (is_equal) history.pop(); }} before StratSeq {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Decls, decl_slist, Decl_SList {{ if (is_equal) { Decls obj = (Decls) history.peek(); Object temp3 = obj.get_decl_slist(); if(temp3==null) { is_equal = false; return; } history.push(temp3); } }} after -> Decls, decl_slist, Decl_SList {{ if (is_equal) history.pop(); }} before Decls {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Decl, classname, ClassName {{ if (is_equal) { Decl obj = (Decl) history.peek(); Object temp4 = obj.get_classname(); if(temp4==null) { is_equal = false; return; } history.push(temp4); } }} after -> Decl, classname, ClassName {{ if (is_equal) history.pop(); }} before -> Decl, variablename, VariableName {{ if (is_equal) { Decl obj = (Decl) history.peek(); Object temp5 = obj.get_variablename(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } }} after -> Decl, variablename, VariableName {{ if (is_equal) history.pop(); }} before Decl {{ 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 temp6 = obj.get_strategy(); if(temp6==null) { is_equal = false; return; } history.push(temp6); } }} 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 {{ 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 temp7 = obj.get_edges(); if(temp7==null) { is_equal = false; return; } history.push(temp7); } }} 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 temp8 = obj.get_sourcemarker(); if(temp8==null) { is_equal = false; return; } history.push(temp8); } }} after -> SGEdge, sourcemarker, SourceMarker {{ if (is_equal) history.pop(); }} before -> SGEdge, source, GlobSpec {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp9 = obj.get_source(); if(temp9==null) { is_equal = false; return; } history.push(temp9); } }} after -> SGEdge, source, GlobSpec {{ if (is_equal) history.pop(); }} before -> SGEdge, targetmarker, TargetMarker {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp10 = obj.get_targetmarker(); if(temp10==null) { is_equal = false; return; } history.push(temp10); } }} after -> SGEdge, targetmarker, TargetMarker {{ if (is_equal) history.pop(); }} before -> SGEdge, target, GlobSpec {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp11 = obj.get_target(); if(temp11==null) { is_equal = false; return; } history.push(temp11); } }} after -> SGEdge, target, GlobSpec {{ if (is_equal) history.pop(); }} before -> SGEdge, constraint, NegativeConstraint {{ if (is_equal) { SGEdge obj = (SGEdge) history.peek(); Object temp12 = obj.get_constraint(); if(temp12==null) { is_equal = false; return; } history.push(temp12); } }} 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 -> Constraint, glob, GlobSpec {{ if (is_equal) { Constraint obj = (Constraint) history.peek(); Object temp13 = obj.get_glob(); if(temp13==null) { is_equal = false; return; } history.push(temp13); } }} 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 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 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 temp14 = obj.get_glob(); if(temp14==null) { is_equal = false; return; } history.push(temp14); } }} 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 temp15 = obj.get_globs(); if(temp15==null) { is_equal = false; return; } history.push(temp15); } }} 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 temp16 = obj.get_name(); if(temp16==null) { is_equal = false; return; } history.push(temp16); } }} 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 temp17 = obj.get_source(); if(temp17==null) { is_equal = false; return; } history.push(temp17); } }} after -> PartGlob, source, SourceGlob {{ if (is_equal) history.pop(); }} before -> PartGlob, name, PartNameGlob {{ if (is_equal) { PartGlob obj = (PartGlob) history.peek(); Object temp18 = obj.get_name(); if(temp18==null) { is_equal = false; return; } history.push(temp18); } }} after -> PartGlob, name, PartNameGlob {{ if (is_equal) history.pop(); }} before -> PartGlob, target, TargetGlob {{ if (is_equal) { PartGlob obj = (PartGlob) history.peek(); Object temp19 = obj.get_target(); if(temp19==null) { is_equal = false; return; } history.push(temp19); } }} 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 temp20 = obj.get_source(); if(temp20==null) { is_equal = false; return; } history.push(temp20); } }} after -> SubclassGlob, source, SourceGlob {{ if (is_equal) history.pop(); }} before -> SubclassGlob, target, TargetGlob {{ if (is_equal) { SubclassGlob obj = (SubclassGlob) history.peek(); Object temp21 = obj.get_target(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } }} 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 temp22 = obj.get_source(); if(temp22==null) { is_equal = false; return; } history.push(temp22); } }} after -> SuperclassGlob, source, SourceGlob {{ if (is_equal) history.pop(); }} before -> SuperclassGlob, target, TargetGlob {{ if (is_equal) { SuperclassGlob obj = (SuperclassGlob) history.peek(); Object temp23 = obj.get_target(); if(temp23==null) { is_equal = false; return; } history.push(temp23); } }} 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 temp24 = obj.get_name(); if(temp24==null) { is_equal = false; return; } history.push(temp24); } }} 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 temp25 = obj.get_name(); if(temp25==null) { is_equal = false; return; } history.push(temp25); } }} 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 temp26 = obj.get_classname(); if(temp26==null) { is_equal = false; return; } history.push(temp26); } }} 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 ClassNameVar {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp27 = host.get_ident(); Object temp28 = ((ClassNameVar) obj).get_ident(); if(temp27 == null && temp28 == null) {} else if(temp27 == null || temp28 == null || !temp27.equals(temp28)) { is_equal = false; 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 temp29 = obj.get_partname(); if(temp29==null) { is_equal = false; return; } history.push(temp29); } }} 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 temp30 = obj.get_classglob(); if(temp30==null) { is_equal = false; return; } history.push(temp30); } }} 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 temp31 = obj.get_globs(); if(temp31==null) { is_equal = false; return; } history.push(temp31); } }} 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 temp32 = obj.get_name(); if(temp32==null) { is_equal = false; return; } history.push(temp32); } }} 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 VariableName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp33 = host.get_ident(); Object temp34 = ((VariableName) obj).get_ident(); if(temp33 == null && temp34 == null) {} else if(temp33 == null || temp34 == null || !temp33.equals(temp34)) { is_equal = false; return; } }} before PartName {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp35 = host.get_name(); Object temp36 = ((PartName) obj).get_name(); if(temp35 == null && temp36 == null) {} else if(temp35 == null || temp36 == null || !temp35.equals(temp36)) { is_equal = false; return; } }} before -> Name, first, Nonempty_Name {{ if (is_equal) { Name obj = (Name) history.peek(); Object temp37 = obj.get_first(); if(temp37==null) { is_equal = false; return; } history.push(temp37); } }} 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 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 temp38 = host.get_copy(); Object temp39 = ((CopyVisitor) obj).get_copy(); if(temp38 == null && temp39 == null) {} else if(temp38 == null || temp39 == null || !temp38.equals(temp39)) { 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 -> StrategyExpression_Sequence, first, Nonempty_StrategyExpression_Sequence {{ if (is_equal) { StrategyExpression_Sequence obj = (StrategyExpression_Sequence) history.peek(); Object temp40 = obj.get_first(); if(temp40==null) { is_equal = false; return; } history.push(temp40); } }} after -> StrategyExpression_Sequence, first, Nonempty_StrategyExpression_Sequence {{ if (is_equal) history.pop(); }} before StrategyExpression_Sequence {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Decl_SList, first, Nonempty_Decl_SList {{ if (is_equal) { Decl_SList obj = (Decl_SList) history.peek(); Object temp41 = obj.get_first(); if(temp41==null) { is_equal = false; return; } history.push(temp41); } }} after -> Decl_SList, first, Nonempty_Decl_SList {{ if (is_equal) history.pop(); }} before Decl_SList {{ 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 temp42 = obj.get_first(); if(temp42==null) { is_equal = false; return; } history.push(temp42); } }} 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 -> Glob_Commalist, first, Nonempty_Glob_Commalist {{ if (is_equal) { Glob_Commalist obj = (Glob_Commalist) history.peek(); Object temp43 = obj.get_first(); if(temp43==null) { is_equal = false; return; } history.push(temp43); } }} 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 temp44 = obj.get_first(); if(temp44==null) { is_equal = false; return; } history.push(temp44); } }} 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 temp47 = obj.get_next(); if(temp47==null) { is_equal = false; return; } history.push(temp47); } }} 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 temp45 = host.get_it(); Object temp46 = ((Nonempty_Name) obj).get_it(); if(temp45 == null && temp46 == null) {} else if(temp45 == null || temp46 == null || !temp45.equals(temp46)) { is_equal = false; return; } }} before -> Nonempty_StrategyExpression_Sequence, it, StrategyExpression {{ if (is_equal) { Nonempty_StrategyExpression_Sequence obj = (Nonempty_StrategyExpression_Sequence) history.peek(); Object temp48 = obj.get_it(); if(temp48==null) { is_equal = false; return; } history.push(temp48); } }} after -> Nonempty_StrategyExpression_Sequence, it, StrategyExpression {{ if (is_equal) history.pop(); }} before -> Nonempty_StrategyExpression_Sequence, next, Nonempty_StrategyExpression_Sequence {{ if (is_equal) { Nonempty_StrategyExpression_Sequence obj = (Nonempty_StrategyExpression_Sequence) history.peek(); Object temp49 = obj.get_next(); if(temp49==null) { is_equal = false; return; } history.push(temp49); } }} after -> Nonempty_StrategyExpression_Sequence, next, Nonempty_StrategyExpression_Sequence {{ if (is_equal) history.pop(); }} before Nonempty_StrategyExpression_Sequence {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Decl_SList, it, Decl {{ if (is_equal) { Nonempty_Decl_SList obj = (Nonempty_Decl_SList) history.peek(); Object temp50 = obj.get_it(); if(temp50==null) { is_equal = false; return; } history.push(temp50); } }} after -> Nonempty_Decl_SList, it, Decl {{ if (is_equal) history.pop(); }} before -> Nonempty_Decl_SList, next, Nonempty_Decl_SList {{ if (is_equal) { Nonempty_Decl_SList obj = (Nonempty_Decl_SList) history.peek(); Object temp51 = obj.get_next(); if(temp51==null) { is_equal = false; return; } history.push(temp51); } }} after -> Nonempty_Decl_SList, next, Nonempty_Decl_SList {{ if (is_equal) history.pop(); }} before Nonempty_Decl_SList {{ 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 temp52 = obj.get_it(); if(temp52==null) { is_equal = false; return; } history.push(temp52); } }} 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 temp53 = obj.get_next(); if(temp53==null) { is_equal = false; return; } history.push(temp53); } }} 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_Glob_Commalist, it, Glob {{ if (is_equal) { Nonempty_Glob_Commalist obj = (Nonempty_Glob_Commalist) history.peek(); Object temp54 = obj.get_it(); if(temp54==null) { is_equal = false; return; } history.push(temp54); } }} 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 temp55 = obj.get_next(); if(temp55==null) { is_equal = false; return; } history.push(temp55); } }} 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 temp56 = obj.get_it(); if(temp56==null) { is_equal = false; return; } history.push(temp56); } }} 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 temp57 = obj.get_next(); if(temp57==null) { is_equal = false; return; } history.push(temp57); } }} 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 }} }