Program: 53833
Project: 53833
Buggy source:
private int addInterceptor0(CtBehavior behavior,String methodName,Interceptor interceptor,int interceptorId,Type type,boolean useContextClassLoader) throws InstrumentException, NotFoundInstrumentException {
  try {
    if (interceptor != null) {
      if (interceptor instanceof StaticAroundInterceptor) {
        StaticAroundInterceptor staticAroundInterceptor=(StaticAroundInterceptor)interceptor;
        interceptorId=InterceptorRegistry.addInterceptor(staticAroundInterceptor);
      }
 else       if (interceptor instanceof SimpleAroundInterceptor) {
        SimpleAroundInterceptor simpleAroundInterceptor=(SimpleAroundInterceptor)interceptor;
        interceptorId=InterceptorRegistry.addSimpleInterceptor(simpleAroundInterceptor);
      }
 else {
        throw new InstrumentException("String_Node_Str" + interceptor);
      }
      injectInterceptor(behavior,interceptor);
    }
 else {
      interceptor=InterceptorRegistry.findInterceptor(interceptorId);
    }
    if (interceptor instanceof StaticAroundInterceptor) {
switch (type) {
case around:
        addStaticAroundInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
      break;
case before:
    addStaticBeforeInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
  break;
case after:
addStaticAfterInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
default :
throw new UnsupportedOperationException("String_Node_Str");
}
}
 else if (interceptor instanceof SimpleAroundInterceptor) {
switch (type) {
case around:
addSimpleAroundInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
case before:
addSimpleBeforeInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
case after:
addSimpleAfterInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
default :
throw new UnsupportedOperationException("String_Node_Str");
}
}
 else {
throw new IllegalArgumentException("String_Node_Str");
}
return interceptorId;
}
 catch (NotFoundException e) {
throw new InstrumentException(interceptor.getClass().getSimpleName() + "String_Node_Str" + e.getMessage(),e);
}
catch (CannotCompileException e) {
throw new InstrumentException(interceptor.getClass().getSimpleName() + "String_Node_Str" + e.getMessage(),e);
}
}

Fixed version (ground truth):
private int addInterceptor0(CtBehavior behavior,String methodName,Interceptor interceptor,int interceptorId,Type type,boolean useContextClassLoader) throws InstrumentException, NotFoundInstrumentException {
  try {
    if (interceptor != null) {
      if (interceptor instanceof StaticAroundInterceptor) {
        StaticAroundInterceptor staticAroundInterceptor=(StaticAroundInterceptor)interceptor;
        interceptorId=InterceptorRegistry.addInterceptor(staticAroundInterceptor);
      }
 else       if (interceptor instanceof SimpleAroundInterceptor) {
        SimpleAroundInterceptor simpleAroundInterceptor=(SimpleAroundInterceptor)interceptor;
        interceptorId=InterceptorRegistry.addSimpleInterceptor(simpleAroundInterceptor);
      }
 else {
        throw new InstrumentException("String_Node_Str" + interceptor);
      }
      injectInterceptor(behavior,interceptor);
    }
 else {
      interceptor=InterceptorRegistry.findInterceptor(interceptorId);
    }
    if (interceptor instanceof StaticAroundInterceptor) {
switch (type) {
case around:
        addStaticAroundInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
      break;
case before:
    addStaticBeforeInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
  break;
case after:
addStaticAfterInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
default :
throw new UnsupportedOperationException("String_Node_Str");
}
}
 else if (interceptor instanceof SimpleAroundInterceptor) {
switch (type) {
case around:
addSimpleAroundInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
case before:
addSimpleBeforeInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
case after:
addSimpleAfterInterceptor(methodName,interceptorId,behavior,useContextClassLoader);
break;
default :
throw new UnsupportedOperationException("String_Node_Str");
}
}
 else {
throw new IllegalArgumentException("String_Node_Str");
}
return interceptorId;
}
 catch (NotFoundException e) {
throw new InstrumentException(getInterceptorName(interceptor) + "String_Node_Str" + e.getMessage(),e);
}
catch (CannotCompileException e) {
throw new InstrumentException(getInterceptorName(interceptor) + "String_Node_Str" + e.getMessage(),e);
}
}