Program: 126260
Project: 126260
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();
    Project project=ProjectManager.getInstance().getProjectFromProjectLabel(this.projectLabel);
    IRepositoryViewObject object=factory.getLastVersion(project,id,this.path,this.type);
    if (object == null) {
      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.getLabel();
    this.displayName=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);
      }
      IComponentsService service=(IComponentsService)GlobalServiceRegister.getDefault().getService(IComponentsService.class);
      IJobletProviderService jobletservice=(IJobletProviderService)GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
      if (service != null && jobletservice != null) {
        IComponentsFactory factorySingleton=service.getComponentsFactory();
        IComponent component=factorySingleton.get(property.getLabel(),DI);
        if (component != null) {
          try {
            Property tProperty=jobletservice.getJobletComponentItem(component);
            if (!tProperty.getId().equals(this.id)) {
              informationStatus=ERepositoryStatus.WARN;
              property.setDescription(TIP);
            }
          }
 catch (          Exception e) {
          }
        }
      }
    }
 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;
}

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();
    Project project=ProjectManager.getInstance().getProjectFromProjectLabel(this.projectLabel);
    IRepositoryViewObject object=factory.getLastVersion(project,id,this.path,this.type);
    if (object == null) {
      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.getLabel();
    this.displayName=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 (!this.avoidGuiInfos) {
      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);
        }
        IComponentsService service=(IComponentsService)GlobalServiceRegister.getDefault().getService(IComponentsService.class);
        IJobletProviderService jobletservice=(IJobletProviderService)GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
        if (service != null && jobletservice != null) {
          IComponentsFactory factorySingleton=service.getComponentsFactory();
          IComponent component=factorySingleton.get(property.getLabel(),DI);
          if (component != null) {
            try {
              Property tProperty=jobletservice.getJobletComponentItem(component);
              if (!tProperty.getId().equals(this.id)) {
                informationStatus=ERepositoryStatus.WARN;
                property.setDescription(TIP);
              }
            }
 catch (            Exception e) {
            }
          }
        }
      }
 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;
}