Program: 60343
Project: 60343
Buggy source:
ProxyFactory(InjectionPoint injectionPoint,Iterable<MethodAspect> methodAspects){
  this.injectionPoint=injectionPoint;
  @SuppressWarnings("String_Node_Str") Constructor<T> constructor=(Constructor<T>)injectionPoint.getMember();
  declaringClass=constructor.getDeclaringClass();
  List<MethodAspect> applicableAspects=Lists.newArrayList();
  for (  MethodAspect methodAspect : methodAspects) {
    if (methodAspect.matches(declaringClass)) {
      applicableAspects.add(methodAspect);
    }
  }
  if (applicableAspects.isEmpty()) {
    interceptors=ImmutableMap.of();
    methods=ImmutableList.of();
    callbacks=null;
    return;
  }
  methods=Lists.newArrayList();
  Enhancer.getMethods(declaringClass,null,methods);
  List<MethodInterceptorsPair> methodInterceptorsPairs=Lists.newArrayList();
  for (  Method method : methods) {
    methodInterceptorsPairs.add(new MethodInterceptorsPair(method));
  }
  boolean anyMatched=false;
  for (  MethodAspect methodAspect : applicableAspects) {
    for (    MethodInterceptorsPair pair : methodInterceptorsPairs) {
      if (methodAspect.matches(pair.method)) {
        if (pair.method.isSynthetic()) {
          logger.log(Level.WARNING,"String_Node_Str" + "String_Node_Str" + "String_Node_Str",new Object[]{pair.method,methodAspect.interceptors()});
        }
        visibility=visibility.and(BytecodeGen.Visibility.forMember(pair.method));
        pair.addAll(methodAspect.interceptors());
        anyMatched=true;
      }
    }
  }
  if (!anyMatched) {
    interceptors=ImmutableMap.of();
    callbacks=null;
    return;
  }
  ImmutableMap.Builder<Method,List<MethodInterceptor>> interceptorsMapBuilder=null;
  callbacks=new Callback[methods.size()];
  for (int i=0; i < methods.size(); i++) {
    MethodInterceptorsPair pair=methodInterceptorsPairs.get(i);
    if (!pair.hasInterceptors()) {
      callbacks[i]=net.sf.cglib.proxy.NoOp.INSTANCE;
      continue;
    }
    if (interceptorsMapBuilder == null) {
      interceptorsMapBuilder=ImmutableMap.builder();
    }
    interceptorsMapBuilder.put(pair.method,ImmutableList.copyOf(pair.interceptors));
    callbacks[i]=new InterceptorStackCallback(pair.method,pair.interceptors);
  }
  interceptors=interceptorsMapBuilder != null ? interceptorsMapBuilder.build() : ImmutableMap.<Method,List<MethodInterceptor>>of();
}

Fixed version (ground truth):
ProxyFactory(InjectionPoint injectionPoint,Iterable<MethodAspect> methodAspects){
  this.injectionPoint=injectionPoint;
  @SuppressWarnings("String_Node_Str") Constructor<T> constructor=(Constructor<T>)injectionPoint.getMember();
  declaringClass=constructor.getDeclaringClass();
  List<MethodAspect> applicableAspects=Lists.newArrayList();
  for (  MethodAspect methodAspect : methodAspects) {
    if (methodAspect.matches(declaringClass)) {
      applicableAspects.add(methodAspect);
    }
  }
  if (applicableAspects.isEmpty()) {
    interceptors=ImmutableMap.of();
    methods=ImmutableList.of();
    callbacks=null;
    return;
  }
  methods=Lists.newArrayList();
  Enhancer.getMethods(declaringClass,null,methods);
  List<MethodInterceptorsPair> methodInterceptorsPairs=Lists.newArrayList();
  for (  Method method : methods) {
    methodInterceptorsPairs.add(new MethodInterceptorsPair(method));
  }
  boolean anyMatched=false;
  for (  MethodAspect methodAspect : applicableAspects) {
    for (    MethodInterceptorsPair pair : methodInterceptorsPairs) {
      if (methodAspect.matches(pair.method)) {
        if (pair.method.isSynthetic()) {
          logger.log(Level.WARNING,"String_Node_Str" + "String_Node_Str" + "String_Node_Str",new Object[]{pair.method,methodAspect.interceptors()});
        }
        visibility=visibility.and(BytecodeGen.Visibility.forMember(pair.method));
        pair.addAll(methodAspect.interceptors());
        anyMatched=true;
      }
    }
  }
  if (!anyMatched) {
    interceptors=ImmutableMap.of();
    callbacks=null;
    return;
  }
  ImmutableMap.Builder<Method,List<MethodInterceptor>> interceptorsMapBuilder=null;
  callbacks=new Callback[methods.size()];
  for (int i=0; i < methods.size(); i++) {
    MethodInterceptorsPair pair=methodInterceptorsPairs.get(i);
    if (!pair.hasInterceptors()) {
      callbacks[i]=net.sf.cglib.proxy.NoOp.INSTANCE;
      continue;
    }
    if (interceptorsMapBuilder == null) {
      interceptorsMapBuilder=ImmutableMap.builder();
    }
    ImmutableList<MethodInterceptor> deDuplicated=ImmutableSet.copyOf(pair.interceptors).asList();
    interceptorsMapBuilder.put(pair.method,deDuplicated);
    callbacks[i]=new InterceptorStackCallback(pair.method,deDuplicated);
  }
  interceptors=interceptorsMapBuilder != null ? interceptorsMapBuilder.build() : ImmutableMap.<Method,List<MethodInterceptor>>of();
}