org_aspectj_ajde_internal_AspectJBuildManagerTest_java
org.aspectj.weaver.bcel.BcelClassWeaver
private void matchSetInstruction(LazyMethodGen mg, InstructionHandle ih, BcelShadow enclosingShadow, List<BcelShadow> shadowAccumulator) {
        FieldInstruction fi = (FieldInstruction)ih.getInstruction();
        Member field = BcelWorld.makeFieldJoinPointSignature(this.clazz, fi);
        if (field.getName().startsWith("ajc$")) {
            return;
        }
        ResolvedMember resolvedField = field.resolve(this.world);
        if (resolvedField == null) {
            return;
        }
        if (Modifier.isFinal(resolvedField.getModifiers()) && Utility.isConstantPushInstruction(ih.getPrev().getInstruction())) {
            return;
        }
        if (resolvedField.isSynthetic()) {
            return;
        }
        BcelShadow bs = BcelShadow.makeFieldSet(this.world, resolvedField, mg, ih, enclosingShadow);
        String cname = fi.getClassName(this.cpg);
        if (!resolvedField.getDeclaringType().getName().equals(cname)) {
            bs.setActualTargetType(cname);
        }
        this.match(bs, shadowAccumulator);
    }
 -> java.lang.String.charAt(int): char -> java.lang.String.replace(char,char): 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.lang.String.length(): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): 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.lang.String.startsWith(java.lang.String): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> 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.lang.ref.WeakReference.get(): java.lang.Object -> java.lang.ref.WeakReference.get(): java.lang.Object -> 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.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.Modifier.isFinal(int): boolean -> java.util.Collections.emptyList(): java.util.List -> java.util.Collections.emptySet(): java.util.Set -> java.util.Set.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.Set.add(java.lang.Object): boolean -> java.util.Collections.emptySet(): java.util.Set -> java.util.Set.add(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.util.Set.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.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.equals(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.Collection.isEmpty(): boolean -> java.util.Collections.emptyList(): java.util.List -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.ref.WeakReference.get(): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.List.clear(): void -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.isEmpty(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.List.clear(): void -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collection.isEmpty(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.List.clear(): void -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean
 [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.String.charAt(int): char -> java.lang.String.replace(char,char): java.lang.String [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [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] [CALL] [CALL] [CALL] -> java.lang.String.length(): int -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.charAt(int): char -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [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] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [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.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.ref.WeakReference.get(): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [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] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] [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] -> 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] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.reflect.Modifier.isFinal(int): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Collections.emptySet(): java.util.Set [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Set.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 [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Set.add(java.lang.Object): boolean [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Collections.emptySet(): java.util.Set [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [CALL] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Set.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 [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [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.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Collection.isEmpty(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Collections.emptyList(): java.util.List [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] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.ref.WeakReference.get(): java.lang.Object [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [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] -> java.util.List.add(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.List.clear(): void [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [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] [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Collection.isEmpty(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.List.clear(): void [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Collection.isEmpty(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.List.clear(): void [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [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] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Collection.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT]