@Override
 public boolean canDirectEdit(IDirectEditingContext context) {
   PictogramElement pe = context.getPictogramElement();
   Object bo = getBusinessObjectForPictogramElement(pe);
   GraphicsAlgorithm ga = context.getGraphicsAlgorithm();
   return bo instanceof Lane && ga instanceof Text;
 }
  @Override
  public boolean canDirectEdit(IDirectEditingContext context) {
    final PictogramElement pe = context.getPictogramElement();
    final Object bo = getBusinessObjectForPictogramElement(pe);
    final GraphicsAlgorithm ga = context.getGraphicsAlgorithm();

    return bo instanceof TextAnnotation && ga instanceof MultiText;
  }
 @Override
 public void setValue(String value, IDirectEditingContext context) {
   PictogramElement pe = context.getPictogramElement();
   Lane lane = (Lane) getBusinessObjectForPictogramElement(pe);
   lane.setName(value);
   updatePictogramElement(((Shape) pe).getContainer());
 }
 @Override
 public void setValue(String value, IDirectEditingContext context) {
   PictogramElement pe = context.getPictogramElement();
   Participant participant = (Participant) getBusinessObjectForPictogramElement(pe);
   participant.setName(value);
   updatePictogramElement(((Shape) pe).getContainer());
 }
  @Override
  public void setValue(String value, IDirectEditingContext context) {
    final PictogramElement pe = context.getPictogramElement();
    final TextAnnotation annotation = (TextAnnotation) getBusinessObjectForPictogramElement(pe);

    BpmnExtensionUtil.setTextAnnotationText(annotation, value, ActivitiPlugin.getDefault());
    updatePictogramElement(((Shape) pe).getContainer());
  }
  @Override
  public String getInitialValue(final IDirectEditingContext context) {

    final PictogramElement pe = context.getPictogramElement();
    final TextAnnotation annotation = (TextAnnotation) getBusinessObjectForPictogramElement(pe);

    return BpmnExtensionUtil.getTextAnnotationText(annotation, ActivitiPlugin.getDefault());
  }
 @Override
 public String getInitialValue(IDirectEditingContext context) {
   PictogramElement pe = context.getPictogramElement();
   Lane lane = (Lane) getBusinessObjectForPictogramElement(pe);
   return lane.getName();
 }
 @Override
 public String getInitialValue(IDirectEditingContext context) {
   PictogramElement pe = context.getPictogramElement();
   Participant participant = (Participant) getBusinessObjectForPictogramElement(pe);
   return participant.getName();
 }