org_aspectj_ajde_core_tests_ShowWeaveMessagesTest_java
org.aspectj.asm.internal.AspectJElementHierarchy
@Override
    public IProgramElement findElementForSignature(IProgramElement parent, IProgramElement.Kind kind, String signature) {
        for (IProgramElement node : parent.getChildren()) {
            if (node.getKind() == kind && signature.equals(node.toSignatureString())) {
                return node;
            }
            IProgramElement childSearch = this.findElementForSignature(node, kind, signature);
            if (childSearch == null) continue;
            return childSearch;
        }
        return null;
    }
 -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.isEmpty(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(char[]): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean
 [CALL] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] -> java.util.List.isEmpty(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.List.isEmpty(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.StringBuilder.append(char[]): java.lang.StringBuilder -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT]