Program: 128557
Project: 128557
Buggy source:
@Override public Property getProperty(){
  exception=null;
  try {
    IProxyRepositoryFactory factory=null;
    if (!GlobalServiceRegister.getDefault().isServiceRegistered(IProxyRepositoryService.class)) {
      return null;
    }
    factory=((IProxyRepositoryService)GlobalServiceRegister.getDefault().getService(IProxyRepositoryService.class)).getProxyRepositoryFactory();
    IRepositoryViewObject object=factory.getLastVersion(id);
    if (object == null) {
      throw new PersistenceException("String_Node_Str" + label + "String_Node_Str"+ id+ "String_Node_Str");
    }
    this.customImage=null;
    Property property=object.getProperty();
    modified=factory.isModified(property);
    this.id=property.getId();
    this.author=property.getAuthor();
    this.creationDate=property.getCreationDate();
    this.description=property.getDescription();
    this.modificationDate=property.getModificationDate();
    this.label=property.getDisplayName();
    this.purpose=property.getPurpose();
    this.statusCode=property.getStatusCode();
    this.version=property.getVersion();
    this.type=ERepositoryObjectType.getItemType(property.getItem());
    this.deleted=property.getItem().getState().isDeleted();
    this.path=property.getItem().getState().getPath();
    repositoryStatus=factory.getStatus(property.getItem());
    InformationLevel informationLevel=property.getMaxInformationLevel();
    informationStatus=factory.getStatus(informationLevel);
    if (type == ERepositoryObjectType.JOBLET) {
      JobletProcessItem item=(JobletProcessItem)property.getItem();
      if (item.getIcon() != null && item.getIcon().getInnerContent() != null && item.getIcon().getInnerContent().length != 0) {
        customImage=getJobletCustomIcon(property);
        customImage=ImageUtils.propertyLabelScale(property.getId(),customImage,ICON_SIZE.ICON_16);
      }
    }
 else     if (type == ERepositoryObjectType.DOCUMENTATION) {
      this.customImage=ImageProvider.getImage(RepositoryImageProvider.getIcon(type));
      Item item=property.getItem();
      if (item instanceof DocumentationItem) {
        customImage=coreSerivce.getImageWithDocExt(((DocumentationItem)item).getExtension());
      }
 else       if (item instanceof LinkDocumentationItem) {
        customImage=coreSerivce.getImageWithSpecial(customImage).createImage();
      }
    }
    return property;
  }
 catch (  PersistenceException e) {
    exception=e;
    ExceptionHandler.process(e);
  }
  return null;
}

Fixed version (ground truth):
@Override public Property getProperty(){
  exception=null;
  try {
    IProxyRepositoryFactory factory=null;
    if (!GlobalServiceRegister.getDefault().isServiceRegistered(IProxyRepositoryService.class)) {
      return null;
    }
    factory=((IProxyRepositoryService)GlobalServiceRegister.getDefault().getService(IProxyRepositoryService.class)).getProxyRepositoryFactory();
    IRepositoryViewObject object=factory.getLastVersion(id);
    if (object == null) {
      throw new PersistenceException("String_Node_Str" + label + "String_Node_Str"+ id+ "String_Node_Str");
    }
    this.customImage=null;
    Property property=object.getProperty();
    modified=factory.isModified(property);
    this.id=property.getId();
    this.author=property.getAuthor();
    this.creationDate=property.getCreationDate();
    this.description=property.getDescription();
    this.modificationDate=property.getModificationDate();
    this.label=property.getDisplayName();
    this.purpose=property.getPurpose();
    this.statusCode=property.getStatusCode();
    this.version=property.getVersion();
    this.type=ERepositoryObjectType.getItemType(property.getItem());
    this.deleted=property.getItem().getState().isDeleted();
    this.path=property.getItem().getState().getPath();
    repositoryStatus=factory.getStatus(property.getItem());
    InformationLevel informationLevel=property.getMaxInformationLevel();
    informationStatus=factory.getStatus(informationLevel);
    if (type == ERepositoryObjectType.JOBLET) {
      JobletProcessItem item=(JobletProcessItem)property.getItem();
      if (item.getIcon() != null && item.getIcon().getInnerContent() != null && item.getIcon().getInnerContent().length != 0) {
        customImage=getJobletCustomIcon(property);
        customImage=ImageUtils.propertyLabelScale(property.getId(),customImage,ICON_SIZE.ICON_16);
      }
    }
 else     if (type == ERepositoryObjectType.DOCUMENTATION) {
      this.customImage=ImageProvider.getImage(RepositoryImageProvider.getIcon(type));
      Item item=property.getItem();
      if (item instanceof DocumentationItem) {
        customImage=coreSerivce.getImageWithDocExt(((DocumentationItem)item).getExtension());
      }
 else       if (item instanceof LinkDocumentationItem) {
        customImage=coreSerivce.getImageWithSpecial(customImage).createImage();
      }
    }
    return property;
  }
 catch (  PersistenceException e) {
    exception=e;
  }
  return null;
}