// TODO: move this to the adapter registry
  public IFeature getCreateFeatureForPictogramElement(PictogramElement pe) {
    if (pe != null) {
      String id = Graphiti.getPeService().getPropertyValue(pe, ICustomTaskFeature.CUSTOM_TASK_ID);
      if (id != null) {
        for (FeatureContainer container : containers) {
          if (container instanceof CustomTaskFeatureContainer) {
            CustomTaskFeatureContainer ctf = (CustomTaskFeatureContainer) container;
            if (id.equals(ctf.getId())) {
              return ctf.getCreateFeature(this);
            }
          }
        }
      }

      EObject be = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe);
      return getCreateFeatureForBusinessObject(be);
    }
    return null;
  }
 public FeatureContainer getFeatureContainer(IContext context) {
   Object id = CustomTaskFeatureContainer.getId(context);
   for (FeatureContainer container : containers) {
     if (id != null && !(container instanceof CustomTaskFeatureContainer)) continue;
     Object o = container.getApplyObject(context);
     if (o != null && container.canApplyTo(o)) {
       return container;
     }
   }
   return null;
 }