org_aspectj_ajde_core_tests_JarManifestTest_java
org.aspectj.weaver.patterns.PointcutRewriter
private Pointcut simplifyAnds(Pointcut pc) {
        if (this.isNot(pc)) {
            NotPointcut npc = (NotPointcut)pc;
            Pointcut notBody = npc.getNegatedPointcut();
            if (this.isNot(notBody)) {
                return this.simplifyAnds(((NotPointcut)notBody).getNegatedPointcut());
            }
            return new NotPointcut(this.simplifyAnds(npc.getNegatedPointcut()));
        }
        if (this.isOr(pc)) {
            OrPointcut opc = (OrPointcut)pc;
            return new OrPointcut(this.simplifyAnds(opc.getLeft()), this.simplifyAnds(opc.getRight()));
        }
        if (this.isAnd(pc)) {
            return this.simplifyAnd((AndPointcut)pc);
        }
        return pc;
    }
 -> java.util.Set.add(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.util.SortedSet.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.SortedSet.contains(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.Object.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int -> java.lang.Object.hashCode(): int -> 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.SortedSet.iterator(): java.util.Iterator -> 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.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [CALL] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.SortedSet.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.SortedSet.contains(java.lang.Object): boolean [CALL] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.lang.Object.hashCode(): int [CALL] -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int [CALL] [EXIT] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] -> java.lang.Object.hashCode(): int [CALL] -> java.lang.Object.hashCode(): int [CALL] -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int -> java.lang.Boolean.valueOf(boolean): java.lang.Boolean -> java.lang.Boolean.hashCode(): int [CALL] [EXIT] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.SortedSet.iterator(): java.util.Iterator -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT]