Program: 174749
Project: 174749
Buggy source:
/** 
 * Inspects the entity resource and returns meta data about any addresssed/binary properties
 * @param api Api
 * @param resource Class<?>
 * @param entityPath String
 * @param metainfo List<ResourceMetadata>
 */
public static void inspectAddressedProperties(Api api,Class<?> resource,final String entityPath,List<ResourceMetadata> metainfo){
  final Map<String,List<ResourceOperation>> operationGroupedByProperty=new HashMap<String,List<ResourceOperation>>();
  MetaHelperAddressable helperForAddressProps=new MetaHelperAddressable(resource,entityPath,operationGroupedByProperty);
  findOperation(BinaryResourceAction.Read.class,HttpMethod.GET,helperForAddressProps);
  findOperation(BinaryResourceAction.Delete.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(BinaryResourceAction.Update.class,HttpMethod.PUT,helperForAddressProps);
  findOperation(BinaryResourceAction.ReadWithResponse.class,HttpMethod.GET,helperForAddressProps);
  findOperation(BinaryResourceAction.DeleteWithResponse.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(BinaryResourceAction.UpdateWithResponse.class,HttpMethod.PUT,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.Read.class,HttpMethod.GET,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.Delete.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.Update.class,HttpMethod.PUT,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.ReadWithResponse.class,HttpMethod.GET,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.DeleteWithResponse.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.UpdateWithResponse.class,HttpMethod.PUT,helperForAddressProps);
  boolean noAuth=resource.isAnnotationPresent(WebApiNoAuth.class);
  if (noAuth) {
    throw new IllegalArgumentException("String_Node_Str" + entityPath);
  }
  Set<Class<? extends ResourceAction>> apiNoAuth=helperForAddressProps.apiNoAuth;
  if (resource.isAnnotationPresent(WebApiDeleted.class)) {
    metainfo.add(new ResourceMetadata(ResourceDictionary.propertyResourceKey(entityPath,"String_Node_Str"),RESOURCE_TYPE.PROPERTY,null,inspectApi(resource),ALL_PROPERTY_RESOURCE_INTERFACES,apiNoAuth,null));
  }
 else {
    for (    Entry<String,List<ResourceOperation>> groupedOps : operationGroupedByProperty.entrySet()) {
      metainfo.add(new ResourceMetadata(groupedOps.getKey(),RESOURCE_TYPE.PROPERTY,groupedOps.getValue(),api,null,apiNoAuth,null));
    }
  }
}

Fixed version (ground truth):
/** 
 * Inspects the entity resource and returns meta data about any addresssed/binary properties
 * @param api Api
 * @param entityPath String
 */
public static void inspectAddressedProperties(Api api,Class<?> resource,final String entityPath,List<ResourceMetadata> metainfo){
  final Map<String,List<ResourceOperation>> operationGroupedByProperty=new HashMap<String,List<ResourceOperation>>();
  MetaHelperAddressable helperForAddressProps=new MetaHelperAddressable(resource,entityPath,operationGroupedByProperty);
  findOperation(BinaryResourceAction.Read.class,HttpMethod.GET,helperForAddressProps);
  findOperation(BinaryResourceAction.Delete.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(BinaryResourceAction.Update.class,HttpMethod.PUT,helperForAddressProps);
  findOperation(BinaryResourceAction.ReadWithResponse.class,HttpMethod.GET,helperForAddressProps);
  findOperation(BinaryResourceAction.DeleteWithResponse.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(BinaryResourceAction.UpdateWithResponse.class,HttpMethod.PUT,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.Read.class,HttpMethod.GET,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.Delete.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.Update.class,HttpMethod.PUT,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.ReadWithResponse.class,HttpMethod.GET,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.DeleteWithResponse.class,HttpMethod.DELETE,helperForAddressProps);
  findOperation(RelationshipResourceBinaryAction.UpdateWithResponse.class,HttpMethod.PUT,helperForAddressProps);
  boolean noAuth=resource.isAnnotationPresent(WebApiNoAuth.class);
  if (noAuth) {
    throw new IllegalArgumentException("String_Node_Str" + entityPath);
  }
  Set<Class<? extends ResourceAction>> apiNoAuth=helperForAddressProps.apiNoAuth;
  if (resource.isAnnotationPresent(WebApiDeleted.class)) {
    metainfo.add(new ResourceMetadata(ResourceDictionary.propertyResourceKey(entityPath,"String_Node_Str"),RESOURCE_TYPE.PROPERTY,null,inspectApi(resource),ALL_PROPERTY_RESOURCE_INTERFACES,apiNoAuth,null));
  }
 else {
    for (    Entry<String,List<ResourceOperation>> groupedOps : operationGroupedByProperty.entrySet()) {
      metainfo.add(new ResourceMetadata(groupedOps.getKey(),RESOURCE_TYPE.PROPERTY,groupedOps.getValue(),api,null,apiNoAuth,null));
    }
  }
}