// 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; Object temp1 = host.get_s(); Object temp2 = ((Main) obj).get_s(); if(temp1 == null && temp2 == null) {} else if(temp1 == null || temp2 == null || !temp1.equals(temp2)) { is_equal = false; return; } }} before -> BusRoute, buses, Bus_List {{ if (is_equal) { BusRoute obj = (BusRoute) history.peek(); Object temp5 = obj.get_buses(); if(temp5==null) { is_equal = false; return; } history.push(temp5); } }} after -> BusRoute, buses, Bus_List {{ if (is_equal) history.pop(); }} before -> BusRoute, towns, Town_List {{ if (is_equal) { BusRoute obj = (BusRoute) history.peek(); Object temp6 = obj.get_towns(); if(temp6==null) { is_equal = false; return; } history.push(temp6); } }} after -> BusRoute, towns, Town_List {{ if (is_equal) history.pop(); }} before BusRoute {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp3 = host.get_name(); Object temp4 = ((BusRoute) obj).get_name(); if(temp3 == null && temp4 == null) {} else if(temp3 == null || temp4 == null || !temp3.equals(temp4)) { is_equal = false; return; } }} before -> Bus, passengers, Person_List {{ if (is_equal) { Bus obj = (Bus) history.peek(); Object temp9 = obj.get_passengers(); if(temp9==null) { is_equal = false; return; } history.push(temp9); } }} after -> Bus, passengers, Person_List {{ if (is_equal) history.pop(); }} before Bus {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp7 = host.get_name(); Object temp8 = ((Bus) obj).get_name(); if(temp7 == null && temp8 == null) {} else if(temp7 == null || temp8 == null || !temp7.equals(temp8)) { is_equal = false; return; } }} before -> Town, busStops, BusStop_List {{ if (is_equal) { Town obj = (Town) history.peek(); Object temp12 = obj.get_busStops(); if(temp12==null) { is_equal = false; return; } history.push(temp12); } }} after -> Town, busStops, BusStop_List {{ if (is_equal) history.pop(); }} before Town {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp10 = host.get_name(); Object temp11 = ((Town) obj).get_name(); if(temp10 == null && temp11 == null) {} else if(temp10 == null || temp11 == null || !temp10.equals(temp11)) { is_equal = false; return; } }} before Person {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp13 = host.get_name(); Object temp14 = ((Person) obj).get_name(); if(temp13 == null && temp14 == null) {} else if(temp13 == null || temp14 == null || !temp13.equals(temp14)) { is_equal = false; return; } }} before -> BusStop, waiting, Person_List {{ if (is_equal) { BusStop obj = (BusStop) history.peek(); Object temp17 = obj.get_waiting(); if(temp17==null) { is_equal = false; return; } history.push(temp17); } }} after -> BusStop, waiting, Person_List {{ if (is_equal) history.pop(); }} before BusStop {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; Object temp15 = host.get_name(); Object temp16 = ((BusStop) obj).get_name(); if(temp15 == null && temp16 == null) {} else if(temp15 == null || temp16 == null || !temp15.equals(temp16)) { is_equal = false; 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 temp18 = host.get_copy(); Object temp19 = ((CopyVisitor) obj).get_copy(); if(temp18 == null && temp19 == null) {} else if(temp18 == null || temp19 == null || !temp18.equals(temp19)) { 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 -> Bus_List, first, Nonempty_Bus_List {{ if (is_equal) { Bus_List obj = (Bus_List) history.peek(); Object temp20 = obj.get_first(); if(temp20==null) { is_equal = false; return; } history.push(temp20); } }} after -> Bus_List, first, Nonempty_Bus_List {{ if (is_equal) history.pop(); }} before Bus_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Town_List, first, Nonempty_Town_List {{ if (is_equal) { Town_List obj = (Town_List) history.peek(); Object temp21 = obj.get_first(); if(temp21==null) { is_equal = false; return; } history.push(temp21); } }} after -> Town_List, first, Nonempty_Town_List {{ if (is_equal) history.pop(); }} before Town_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Person_List, first, Nonempty_Person_List {{ if (is_equal) { Person_List obj = (Person_List) history.peek(); Object temp22 = obj.get_first(); if(temp22==null) { is_equal = false; return; } history.push(temp22); } }} after -> Person_List, first, Nonempty_Person_List {{ if (is_equal) history.pop(); }} before Person_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> BusStop_List, first, Nonempty_BusStop_List {{ if (is_equal) { BusStop_List obj = (BusStop_List) history.peek(); Object temp23 = obj.get_first(); if(temp23==null) { is_equal = false; return; } history.push(temp23); } }} after -> BusStop_List, first, Nonempty_BusStop_List {{ if (is_equal) history.pop(); }} before BusStop_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Bus_List, it, Bus {{ if (is_equal) { Nonempty_Bus_List obj = (Nonempty_Bus_List) history.peek(); Object temp24 = obj.get_it(); if(temp24==null) { is_equal = false; return; } history.push(temp24); } }} after -> Nonempty_Bus_List, it, Bus {{ if (is_equal) history.pop(); }} before -> Nonempty_Bus_List, next, Nonempty_Bus_List {{ if (is_equal) { Nonempty_Bus_List obj = (Nonempty_Bus_List) history.peek(); Object temp25 = obj.get_next(); if(temp25==null) { is_equal = false; return; } history.push(temp25); } }} after -> Nonempty_Bus_List, next, Nonempty_Bus_List {{ if (is_equal) history.pop(); }} before Nonempty_Bus_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Town_List, it, Town {{ if (is_equal) { Nonempty_Town_List obj = (Nonempty_Town_List) history.peek(); Object temp26 = obj.get_it(); if(temp26==null) { is_equal = false; return; } history.push(temp26); } }} after -> Nonempty_Town_List, it, Town {{ if (is_equal) history.pop(); }} before -> Nonempty_Town_List, next, Nonempty_Town_List {{ if (is_equal) { Nonempty_Town_List obj = (Nonempty_Town_List) history.peek(); Object temp27 = obj.get_next(); if(temp27==null) { is_equal = false; return; } history.push(temp27); } }} after -> Nonempty_Town_List, next, Nonempty_Town_List {{ if (is_equal) history.pop(); }} before Nonempty_Town_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_Person_List, it, Person {{ if (is_equal) { Nonempty_Person_List obj = (Nonempty_Person_List) history.peek(); Object temp28 = obj.get_it(); if(temp28==null) { is_equal = false; return; } history.push(temp28); } }} after -> Nonempty_Person_List, it, Person {{ if (is_equal) history.pop(); }} before -> Nonempty_Person_List, next, Nonempty_Person_List {{ if (is_equal) { Nonempty_Person_List obj = (Nonempty_Person_List) history.peek(); Object temp29 = obj.get_next(); if(temp29==null) { is_equal = false; return; } history.push(temp29); } }} after -> Nonempty_Person_List, next, Nonempty_Person_List {{ if (is_equal) history.pop(); }} before Nonempty_Person_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} before -> Nonempty_BusStop_List, it, BusStop {{ if (is_equal) { Nonempty_BusStop_List obj = (Nonempty_BusStop_List) history.peek(); Object temp30 = obj.get_it(); if(temp30==null) { is_equal = false; return; } history.push(temp30); } }} after -> Nonempty_BusStop_List, it, BusStop {{ if (is_equal) history.pop(); }} before -> Nonempty_BusStop_List, next, Nonempty_BusStop_List {{ if (is_equal) { Nonempty_BusStop_List obj = (Nonempty_BusStop_List) history.peek(); Object temp31 = obj.get_next(); if(temp31==null) { is_equal = false; return; } history.push(temp31); } }} after -> Nonempty_BusStop_List, next, Nonempty_BusStop_List {{ if (is_equal) history.pop(); }} before Nonempty_BusStop_List {{ Object obj = history.peek(); is_equal = is_equal && obj.getClass().equals(host.getClass()); if(!is_equal) return; }} return boolean {{ is_equal }} }