Program: 127542
Project: 127542
Buggy source:
@Override public void deleteObjectPhysical(Project project,IRepositoryViewObject objToDelete,String version,boolean fromEmptyRecycleBin) throws PersistenceException {
  if (project == null || objToDelete == null || objToDelete.getProperty() == null) {
    return;
  }
  IRepositoryViewObject object=new RepositoryObject(objToDelete.getProperty());
  boolean isExtendPoint=false;
  fireRepositoryPropertyChange(ERepositoryActionName.DELETE_FOREVER.getName(),null,object);
  ERepositoryObjectType repositoryObjectType=object.getRepositoryObjectType();
  for (  IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
    isExtendPoint=handler.isRepObjType(repositoryObjectType);
    if (isExtendPoint == true) {
      if (repositoryObjectType == handler.getProcessType()) {
        coreService.removeJobLaunch(object);
      }
      if (repositoryObjectType == handler.getCodeType()) {
        try {
          coreService.deleteBeanfile(object);
        }
 catch (        Exception e) {
          ExceptionHandler.process(e);
        }
      }
      break;
    }
  }
  if (repositoryObjectType == ERepositoryObjectType.PROCESS) {
    coreService.removeJobLaunch(object);
  }
  if (repositoryObjectType == ERepositoryObjectType.ROUTINES || repositoryObjectType == ERepositoryObjectType.PIG_UDF) {
    try {
      coreService.deleteRoutinefile(object);
    }
 catch (    Exception e) {
      ExceptionHandler.process(e);
    }
  }
  if (repositoryObjectType == ERepositoryObjectType.PROCESS) {
    if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
      IESBService service=(IESBService)GlobalServiceRegister.getDefault().getService(IESBService.class);
      if (service != null) {
        service.refreshOperationLabel(object.getProperty().getId());
      }
    }
  }
  this.repositoryFactoryFromProvider.deleteObjectPhysical(project,object,version,fromEmptyRecycleBin);
  String str[]=new String[]{object.toString(),getRepositoryContext().getUser().toString()};
  log.info(Messages.getString("String_Node_Str",str));
}

Fixed version (ground truth):
@Override public void deleteObjectPhysical(Project project,IRepositoryViewObject objToDelete,String version,boolean fromEmptyRecycleBin) throws PersistenceException {
  if (project == null || objToDelete == null || objToDelete.getProperty() == null) {
    return;
  }
  IRepositoryViewObject object=new RepositoryObject(objToDelete.getProperty());
  boolean isExtendPoint=false;
  fireRepositoryPropertyChange(ERepositoryActionName.DELETE_FOREVER.getName(),null,object);
  ERepositoryObjectType repositoryObjectType=object.getRepositoryObjectType();
  ICoreService coreService=getCoreService();
  if (coreService != null) {
    for (    IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
      isExtendPoint=handler.isRepObjType(repositoryObjectType);
      if (isExtendPoint == true) {
        if (repositoryObjectType == handler.getProcessType()) {
          coreService.removeJobLaunch(object);
        }
        if (repositoryObjectType == handler.getCodeType()) {
          try {
            coreService.deleteBeanfile(object);
          }
 catch (          Exception e) {
            ExceptionHandler.process(e);
          }
        }
        break;
      }
    }
    if (repositoryObjectType == ERepositoryObjectType.PROCESS) {
      coreService.removeJobLaunch(object);
    }
  }
  if (repositoryObjectType == ERepositoryObjectType.ROUTINES || repositoryObjectType == ERepositoryObjectType.PIG_UDF) {
    try {
      coreService.deleteRoutinefile(object);
    }
 catch (    Exception e) {
      ExceptionHandler.process(e);
    }
  }
  if (repositoryObjectType == ERepositoryObjectType.PROCESS) {
    if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
      IESBService service=(IESBService)GlobalServiceRegister.getDefault().getService(IESBService.class);
      if (service != null) {
        service.refreshOperationLabel(object.getProperty().getId());
      }
    }
  }
  this.repositoryFactoryFromProvider.deleteObjectPhysical(project,object,version,fromEmptyRecycleBin);
  String str[]=new String[]{object.toString(),getRepositoryContext().getUser().toString()};
  log.info(Messages.getString("String_Node_Str",str));
}