org_aspectj_ajde_core_tests_ShowWeaveMessagesTest_java
org.aspectj.weaver.ResolvedType
public void addInterTypeMunger(ConcreteTypeMunger munger, boolean isDuringCompilation) {
        ResolvedMember sig = munger.getSignature();
        this.bits &= ~MungersAnalyzed;
        if (sig == null || munger.getMunger() == null || munger.getMunger().getKind() == ResolvedTypeMunger.PrivilegedAccess) {
            this.interTypeMungers.add(munger);
            return;
        }
        sig = (munger = this.fillInAnyTypeParameters(munger)).getSignature();
        if (sig.getKind() == Member.METHOD) {
            if (this.clashesWithExistingMember(munger, this.getMethods(true, false))) {
                return;
            }
            if (this.isInterface() && this.clashesWithExistingMember(munger, Arrays.asList(this.world.getCoreType(OBJECT).getDeclaredMethods()).iterator())) {
                return;
            }
        } else if (sig.getKind() == Member.FIELD) {
            ResolvedTypeMunger thisRealMunger;
            if (this.clashesWithExistingMember(munger, Arrays.asList(this.getDeclaredFields()).iterator())) {
                return;
            }
            if (!isDuringCompilation && (thisRealMunger = munger.getMunger()) instanceof NewFieldTypeMunger) {
                NewFieldTypeMunger newFieldTypeMunger = (NewFieldTypeMunger)thisRealMunger;
                if (newFieldTypeMunger.version == 2) {
                    String thisRealMungerSignatureName = newFieldTypeMunger.getSignature().getName();
                    for (ConcreteTypeMunger typeMunger : this.interTypeMungers) {
                        NewFieldTypeMunger existing;
                        if (!(typeMunger.getMunger() instanceof NewFieldTypeMunger) || typeMunger.getSignature().getKind() != Member.FIELD || !(existing = (NewFieldTypeMunger)typeMunger.getMunger()).getSignature().getName().equals(thisRealMungerSignatureName) || existing.version != 2 || !existing.getSignature().getDeclaringType().equals(newFieldTypeMunger.getSignature().getDeclaringType())) continue;
                        StringBuilder sb = new StringBuilder();
                        sb.append("Cannot handle two aspects both attempting to use new style ITDs for the same named field ");
                        sb.append("on the same target type.  Please recompile at least one aspect with '-Xset:itdVersion=1'.");
                        sb.append(" Aspects involved: " + munger.getAspectType().getName() + " and " + typeMunger.getAspectType().getName() + ".");
                        sb.append(" Field is named '" + existing.getSignature().getName() + "'");
                        this.getWorld().getMessageHandler().handleMessage(new Message(sb.toString(), this.getSourceLocation(), true));
                        return;
                    }
                }
            }
        } else if (this.clashesWithExistingMember(munger, Arrays.asList(this.getDeclaredMethods()).iterator())) {
            return;
        }
        boolean needsAdding = true;
        boolean needsToBeAddedEarlier = false;
        Iterator<ConcreteTypeMunger> i = this.interTypeMungers.iterator();
        while (i.hasNext()) {
            boolean v2itds;
            ConcreteTypeMunger existingMunger = i.next();
            boolean bl = v2itds = munger.getSignature().getKind() == Member.FIELD && munger.getMunger() instanceof NewFieldTypeMunger && ((NewFieldTypeMunger)munger.getMunger()).version == 2;
            if (!ResolvedType.conflictingSignature(existingMunger.getSignature(), munger.getSignature(), v2itds) || !ResolvedType.isVisible(munger.getSignature().getModifiers(), munger.getAspectType(), existingMunger.getAspectType())) continue;
            int c = this.compareMemberPrecedence(sig, existingMunger.getSignature());
            if (c == 0) {
                c = this.getWorld().compareByPrecedenceAndHierarchy(munger.getAspectType(), existingMunger.getAspectType());
            }
            if (c < 0) {
                this.checkLegalOverride(munger.getSignature(), existingMunger.getSignature(), 17, null);
                needsAdding = false;
                if (munger.getSignature().getKind() != Member.FIELD || !munger.getSignature().getDeclaringType().resolve(this.world).isInterface() || ((NewFieldTypeMunger)munger.getMunger()).version != 2) break;
                needsAdding = true;
                break;
            }
            if (c > 0) {
                this.checkLegalOverride(existingMunger.getSignature(), munger.getSignature(), 17, null);
                if (existingMunger.getSignature().getKind() == Member.FIELD && existingMunger.getSignature().getDeclaringType().resolve(this.world).isInterface() && ((NewFieldTypeMunger)existingMunger.getMunger()).version == 2) {
                    needsToBeAddedEarlier = true;
                    break;
                }
                i.remove();
                break;
            }
            this.interTypeConflictError(munger, existingMunger);
            this.interTypeConflictError(existingMunger, munger);
            return;
        }
        if (needsAdding) {
            if (!needsToBeAddedEarlier) {
                this.interTypeMungers.add(munger);
            } else {
                this.interTypeMungers.add(0, munger);
            }
        }
    }
 -> java.lang.reflect.Modifier.isInterface(int): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Queue.add(java.lang.Object): boolean -> java.lang.ref.WeakReference.get(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Queue.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Queue.isEmpty(): boolean -> java.util.Queue.remove(): java.lang.Object -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.hashCode(): int -> java.lang.ref.WeakReference.get(): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Queue.isEmpty(): boolean -> java.util.Queue.remove(): java.lang.Object -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.hashCode(): int -> java.lang.ref.WeakReference.get(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Queue.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Modifier.isInterface(int): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.add(java.lang.Object): boolean
 [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.reflect.Modifier.isInterface(int): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] -> java.util.Queue.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.ref.WeakReference.get(): java.lang.Object [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.replace(char,char): java.lang.String [EXIT] [EXIT] -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.lastIndexOf(int): int [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.String.substring(int,int): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] [EXIT] -> java.lang.String.substring(int,int): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.charAt(int): char -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.charAt(int): char -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.substring(int): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.size(): int [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] -> java.util.Queue.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.Queue.isEmpty(): boolean -> java.util.Queue.remove(): java.lang.Object -> java.util.Set.add(java.lang.Object): boolean [CALL] -> java.lang.String.hashCode(): int [EXIT] [CALL] [CALL] [CALL] -> java.lang.ref.WeakReference.get(): java.lang.Object [EXIT] [CALL] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Queue.isEmpty(): boolean -> java.util.Queue.remove(): java.lang.Object -> java.util.Set.add(java.lang.Object): boolean [CALL] -> java.lang.String.hashCode(): int [EXIT] [CALL] [CALL] [CALL] -> java.lang.ref.WeakReference.get(): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Queue.isEmpty(): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.reflect.Modifier.isInterface(int): boolean [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.List.add(java.lang.Object): boolean [EXIT]