@Override
    public Object[] create(ICreateContext context) {
      String state = Selectstate(BPMNToolBehaviorProvider.id_v);
      if (state.compareTo("Working") == 0) {
        SubProcess element = createBusinessObject(context);
        // if (element instanceof Task)
        // System.out.println("selectTaskId()"+selectTaskId());
        String id = selectTaskId();
        element.setId("VA" + id + "-1");
        UpdateTaskId(id);
        if (element != null) {
          changesDone = true;
          try {
            ModelHandler handler = ModelHandler.getInstance(getDiagram());
            if (FeatureSupport.isTargetLane(context) && element instanceof FlowNode) {
              ((FlowNode) element)
                  .getLanes()
                  .add((Lane) getBusinessObjectForPictogramElement(context.getTargetContainer()));
            }
            handler.addFlowElement(
                getBusinessObjectForPictogramElement(context.getTargetContainer()), element);
          } catch (IOException e) {
            Activator.logError(e);
          }
          PictogramElement pe = null;
          pe = addGraphicalRepresentation(context, element);
          return new Object[] {element, pe};
        } else changesDone = false;
        return new Object[] {null};
      } else {
        System.out.println("01102015tttttttttttt");
        JOptionPane.showMessageDialog(
            null,
            "Operation is not allowed because the version of process "
                + BPMNToolBehaviorProvider.id_v
                + " is Stable",
            "Error",
            JOptionPane.ERROR_MESSAGE);

        return new Object[] {null};
      }
    }