Program: 89360
Project: 89360
Buggy source:
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.RecordsManagementAdminService#removeCustomPropertyDefinition(org.alfresco.service.namespace.QName)
 */
public void removeCustomPropertyDefinition(QName propQName){
  ParameterCheck.mandatory("String_Node_Str",propQName);
  NodeRef modelRef=getCustomModelRef(propQName.getNamespaceURI());
  M2Model deserializedModel=readCustomContentModel(modelRef);
  String propQNameAsString=propQName.toPrefixString(namespaceService);
  String aspectName=null;
  boolean found=false;
  for (  QName customisableType : getCustomisable()) {
    aspectName=getCustomAspect(customisableType).toPrefixString(namespaceService);
    M2Aspect customPropsAspect=deserializedModel.getAspect(aspectName);
    if (customPropsAspect == null) {
      throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_UNKNOWN_ASPECT,aspectName));
    }
    M2Property prop=customPropsAspect.getProperty(propQNameAsString);
    if (prop != null) {
      if (logger.isDebugEnabled()) {
        StringBuilder msg=new StringBuilder();
        msg.append("String_Node_Str");
        msg.append(propQNameAsString);
        logger.debug(msg.toString());
      }
      found=true;
      customPropsAspect.removeProperty(propQNameAsString);
      break;
    }
  }
  if (found == false) {
    throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_PROP_EXIST,propQNameAsString));
  }
  writeCustomContentModel(modelRef,deserializedModel);
  if (logger.isInfoEnabled()) {
    logger.info("String_Node_Str" + propQNameAsString + "String_Node_Str"+ aspectName);
  }
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.RecordsManagementAdminService#removeCustomPropertyDefinition(org.alfresco.service.namespace.QName)
 */
public void removeCustomPropertyDefinition(QName propQName){
  ParameterCheck.mandatory("String_Node_Str",propQName);
  NodeRef modelRef=getCustomModelRef(propQName.getNamespaceURI());
  M2Model deserializedModel=readCustomContentModel(modelRef);
  String propQNameAsString=propQName.toPrefixString(namespaceService);
  String aspectName=null;
  boolean found=false;
  for (  QName customisableType : getCustomisable()) {
    aspectName=getCustomAspect(customisableType).toPrefixString(namespaceService);
    M2Aspect customPropsAspect=deserializedModel.getAspect(aspectName);
    if (customPropsAspect == null) {
      throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_UNKNOWN_ASPECT,aspectName));
    }
    M2Property prop=customPropsAspect.getProperty(propQNameAsString);
    if (prop != null) {
      if (logger.isDebugEnabled()) {
        StringBuilder msg=new StringBuilder();
        msg.append("String_Node_Str");
        msg.append(propQNameAsString);
        logger.debug(msg.toString());
      }
      found=true;
      customPropsAspect.removeProperty(propQNameAsString);
      break;
    }
  }
  if (!found) {
    throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_PROP_EXIST,propQNameAsString));
  }
  writeCustomContentModel(modelRef,deserializedModel);
  if (logger.isInfoEnabled()) {
    logger.info("String_Node_Str" + propQNameAsString + "String_Node_Str"+ aspectName);
  }
}