Program: 118953
Project: 118953
Buggy source:
@Override public void selectionChanged(SelectionChangedEvent event){
  ISelection selection=event.getSelection();
  if (selection instanceof StructuredSelection) {
    Object input=((IStructuredSelection)selection).getFirstElement();
    if (!(input instanceof RepositoryNode)) {
      if (input instanceof IAdaptable) {
        IAdaptable adaptable=(IAdaptable)input;
        input=adaptable.getAdapter(RepositoryNode.class);
      }
    }
    if (input instanceof RepositoryNode) {
      RepositoryNode repositoryNode=(RepositoryNode)input;
      Object obj=repositoryNode.getProperties(EProperties.CONTENT_TYPE);
      String type=null;
      if (obj != null) {
        type=obj.toString();
        if (obj instanceof ERepositoryObjectType) {
          ERepositoryObjectType objType=(ERepositoryObjectType)obj;
          if (objType == ERepositoryObjectType.PROCESS) {
            type=getViewNameLable();
          }
 else           if (objType == ERepositoryObjectType.JOBLET) {
            type=VIEW_NAME_JOBLET;
          }
        }
      }
 else {
        return;
      }
      IRepositoryViewObject repositoryObject=repositoryNode.getObject();
      if (repositoryObject == null) {
        repositoryObject=new EmptyRepositoryObject();
        return;
      }
      String title=repositoryObject.getLabel();
      if (allowVerchange) {
        if (repositoryObject.getVersion() != null) {
          title=repositoryObject.getLabel() + "String_Node_Str" + repositoryObject.getVersion();
        }
      }
      setElement(repositoryObject,type + SEPARATOR + title,ImageProvider.getImage(repositoryNode.getIcon()));
    }
  }
}

Fixed version (ground truth):
@Override public void selectionChanged(SelectionChangedEvent event){
  ISelection selection=event.getSelection();
  if (selection instanceof StructuredSelection) {
    Object input=((IStructuredSelection)selection).getFirstElement();
    if (!(input instanceof RepositoryNode)) {
      if (input instanceof IAdaptable) {
        IAdaptable adaptable=(IAdaptable)input;
        input=adaptable.getAdapter(RepositoryNode.class);
      }
    }
    if (input instanceof RepositoryNode) {
      RepositoryNode repositoryNode=(RepositoryNode)input;
      Object obj=repositoryNode.getProperties(EProperties.CONTENT_TYPE);
      String type=null;
      if (obj != null) {
        type=obj.toString();
        if (obj instanceof ERepositoryObjectType) {
          ERepositoryObjectType objType=(ERepositoryObjectType)obj;
          if (objType == ERepositoryObjectType.PROCESS) {
            type=getViewNameLable();
          }
 else           if (objType == ERepositoryObjectType.JOBLET) {
            type=VIEW_NAME_JOBLET;
          }
        }
      }
 else {
        return;
      }
      IRepositoryViewObject repositoryObject=repositoryNode.getObject();
      if (repositoryObject == null) {
        repositoryObject=new EmptyRepositoryObject();
        return;
      }
      String title=repositoryObject.getLabel();
      if (allowVerchange) {
        if (repositoryObject.getVersion() != null) {
          title=repositoryObject.getLabel() + "String_Node_Str" + repositoryObject.getVersion();
        }
      }
      Image jobSettingImage=null;
      ERepositoryObjectType repositoryObjectType=repositoryNode.getObjectType();
      if (repositoryObjectType == ERepositoryObjectType.PROCESS_MR || repositoryObjectType == ERepositoryObjectType.PROCESS_STORM) {
        jobSettingImage=getImage(repositoryObject);
      }
      if (jobSettingImage == null) {
        jobSettingImage=ImageProvider.getImage(repositoryNode.getIcon());
      }
      setElement(repositoryObject,type + SEPARATOR + title,jobSettingImage);
    }
  }
}