Program: 14872
Project: 14872
Buggy source:
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) public static <T extends RestrictedType>T allocate(String identifier,Long quantity,Supplier<T> allocator) throws AuthException, IllegalContextAccessException, NoSuchElementException, PersistenceException {
  Context ctx=Contexts.lookup();
  if (ctx.hasAdministrativePrivileges()) {
    return allocator.get();
  }
 else {
    Class<? extends BaseMessage> msgType=ctx.getRequest().getClass();
    List<Class<?>> lookupTypes=Classes.genericsToClasses(allocator);
    if (lookupTypes.isEmpty()) {
      throw new IllegalArgumentException("String_Node_Str" + allocator.getClass() + "String_Node_Str"+ allocator+ "String_Node_Str");
    }
 else {
      Class<?> rscType;
      try {
        rscType=Iterables.find(lookupTypes,new Predicate<Class<?>>(){
          @Override public boolean apply(          Class<?> arg0){
            return RestrictedType.class.isAssignableFrom(arg0);
          }
        }
);
      }
 catch (      NoSuchElementException ex1) {
        LOG.error(ex1,ex1);
        throw ex1;
      }
      Ats ats=Ats.inClassHierarchy(rscType);
      Ats msgAts=Ats.inClassHierarchy(msgType);
      if (!ats.has(PolicyVendor.class) && !msgAts.has(PolicyVendor.class)) {
        throw new IllegalArgumentException("String_Node_Str" + rscType.getCanonicalName() + "String_Node_Str"+ rscType.getCanonicalName()+ "String_Node_Str"+ msgType.getCanonicalName());
      }
 else       if (!ats.has(PolicyResourceType.class) && !msgAts.has(PolicyResourceType.class)) {
        throw new IllegalArgumentException("String_Node_Str" + rscType.getCanonicalName() + "String_Node_Str"+ rscType.getCanonicalName()+ "String_Node_Str"+ msgType.getCanonicalName());
      }
 else {
        PolicyVendor vendor=ats.get(PolicyVendor.class);
        PolicyResourceType type=ats.get(PolicyResourceType.class);
        String action=PolicySpec.requestToAction(ctx.getRequest());
        if (action == null) {
          action=vendor.value() + "String_Node_Str" + ctx.getRequest().getClass().getSimpleName().replaceAll("String_Node_Str","String_Node_Str").toLowerCase();
        }
        User requestUser=ctx.getUser();
        try {
          if (!Permissions.isAuthorized(vendor.value(),type.value(),identifier,null,action,requestUser)) {
            throw new AuthException("String_Node_Str" + type + "String_Node_Str"+ ctx.getUserFullName());
          }
 else           if (!Permissions.canAllocate(vendor.value(),type.value(),identifier,action,ctx.getUser(),quantity)) {
            throw new AuthException("String_Node_Str" + type + "String_Node_Str"+ ctx.getUserFullName());
          }
 else {
            return allocator.get();
          }
        }
 catch (        AuthException ex) {
          throw ex;
        }
      }
    }
  }
}

Fixed version (ground truth):
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) public static <T extends RestrictedType>T allocate(String identifier,Long quantity,Supplier<T> allocator) throws AuthException, IllegalContextAccessException, NoSuchElementException, PersistenceException {
  Context ctx=Contexts.lookup();
  if (ctx.hasAdministrativePrivileges()) {
    return allocator.get();
  }
 else {
    Class<? extends BaseMessage> msgType=ctx.getRequest().getClass();
    List<Class<?>> lookupTypes=Classes.genericsToClasses(allocator);
    if (lookupTypes.isEmpty()) {
      throw new IllegalArgumentException("String_Node_Str" + allocator.getClass() + "String_Node_Str"+ allocator+ "String_Node_Str");
    }
 else {
      Class<?> rscType;
      try {
        rscType=Iterables.find(lookupTypes,new Predicate<Class<?>>(){
          @Override public boolean apply(          Class<?> arg0){
            return RestrictedType.class.isAssignableFrom(arg0);
          }
        }
);
      }
 catch (      NoSuchElementException ex1) {
        LOG.error(ex1,ex1);
        throw ex1;
      }
      Ats ats=Ats.inClassHierarchy(rscType);
      Ats msgAts=Ats.inClassHierarchy(msgType);
      if (!ats.has(PolicyVendor.class) && !msgAts.has(PolicyVendor.class)) {
        throw new IllegalArgumentException("String_Node_Str" + rscType.getCanonicalName() + "String_Node_Str"+ rscType.getCanonicalName()+ "String_Node_Str"+ msgType.getCanonicalName());
      }
 else       if (!ats.has(PolicyResourceType.class) && !msgAts.has(PolicyResourceType.class)) {
        throw new IllegalArgumentException("String_Node_Str" + rscType.getCanonicalName() + "String_Node_Str"+ rscType.getCanonicalName()+ "String_Node_Str"+ msgType.getCanonicalName());
      }
 else {
        PolicyVendor vendor=ats.get(PolicyVendor.class);
        PolicyResourceType type=ats.get(PolicyResourceType.class);
        String action=PolicySpec.requestToAction(ctx.getRequest());
        if (action == null) {
          action=getIamActionByMessageType(ctx.getRequest());
        }
        User requestUser=ctx.getUser();
        try {
          if (!Permissions.isAuthorized(vendor.value(),type.value(),identifier,null,action,requestUser)) {
            throw new AuthException("String_Node_Str" + type + "String_Node_Str"+ ctx.getUserFullName());
          }
 else           if (!Permissions.canAllocate(vendor.value(),type.value(),identifier,action,ctx.getUser(),quantity)) {
            throw new AuthException("String_Node_Str" + type + "String_Node_Str"+ ctx.getUserFullName());
          }
 else {
            return allocator.get();
          }
        }
 catch (        AuthException ex) {
          throw ex;
        }
      }
    }
  }
}