@Override
 public String getDescription() {
   String description = PropertyEditorFactory.getDescription(object, getFieldIdentifier());
   if (null == description) {
     description = super.getDescription();
   }
   return description;
 }
 @Override
 public String getDisplayName() {
   String name = PropertyEditorFactory.getDisplayName(object, getFieldIdentifier());
   if (null == name) {
     name = super.getDisplayName();
   }
   return name;
 }
 @Override
 public CellEditor createPropertyEditor(Composite composite) {
   CellEditor editor =
       PropertyEditorFactory.createPropertyEditor(composite, object, getFieldIdentifier(), this);
   if (null == editor) {
     editor = createFallbackPropertyEditor(composite);
   }
   return editor;
 }
 @Override
 public ILabelProvider getLabelProvider() {
   Object value = itemPropertyDescriptor.getPropertyValue(object);
   if (value instanceof IItemPropertySource) {
     value = ((IItemPropertySource) value).getEditableValue(object);
   }
   ILabelProvider result =
       PropertyEditorFactory.getLabelProvider(object, getFieldIdentifier(), value, this);
   if (null == result) {
     result = super.getLabelProvider();
   }
   return result;
 }
 /**
  * Specifies whether this kind or Pipeline element can be filtered at all.
  *
  * @return <tt>true</tt> {@link #isVisible(String)} should be considered for all elements,
  *     <tt>false</tt> no filtering needed.
  */
 public boolean isFilterable() {
   return PropertyEditorFactory.isFilterable(object);
 }
 /**
  * Specifies whether the given <tt>propertyIdentifier</tt> shall be displayed at the GUI or not,
  * i.e., whether this property can be edited by the user or not.
  *
  * @return <tt>true</tt> the editor shall be shown, <tt>false</tt> the editor should not be shown
  *     in the UI.
  */
 public boolean isVisible() {
   return PropertyEditorFactory.isVisible(object, getFieldIdentifier());
 }