public void createObject(int x, int y) {
    if (availableForInsert && this.entry != null) {
      updateCursor(false);
      availableForInsert = false;
      switch (this.entry.getType()) {
        case TRIGGER_BLOCK:
        case CUSTOM_BLOCK:
          CreateUnspecifiedTypeRequest request =
              new CreateUnspecifiedTypeRequest(
                  Collections.singletonList(Neuro4jElementTypes.LogicNode_2017),
                  diagramEditPart.getDiagramPreferencesHint());

          request.setLocation(new Point(x, y));
          Command command = diagramEditPart.getCommand(request);
          command.execute();
          List newObject = (List) request.getNewObject();
          ViewAndElementDescriptor desc = (ViewAndElementDescriptor) newObject.get(0);
          ShapeImpl shape = (ShapeImpl) desc.getAdapter(ShapeImpl.class);
          LogicNode lNode = (LogicNode) shape.getElement();
          updateCustomBlock(lNode, this.entry);
          break;

        case CHILD:
          if (entry.getParent().getType() != ListEntryType.FLOW) {
            return;
          }
          request =
              new CreateUnspecifiedTypeRequest(
                  Collections.singletonList(Neuro4jElementTypes.CallNode_2008),
                  diagramEditPart.getDiagramPreferencesHint());

          request.setLocation(new Point(x, y));
          command = diagramEditPart.getCommand(request);
          command.execute();
          newObject = (List) request.getNewObject();
          desc = (ViewAndElementDescriptor) newObject.get(0);
          shape = (ShapeImpl) desc.getAdapter(ShapeImpl.class);
          CallNode cNode = (CallNode) shape.getElement();

          updateCallBlock(cNode, entry);

          break;

        default:
          break;
      }
      this.entry = null;
    }
  }
  @Override
  public void setLineWidth(int value) {
    super.setLineWidth(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineWidth();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setTransparency(int value) {
    super.setTransparency(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Transparency();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setGradient(org.eclipse.gmf.runtime.notation.datatype.GradientData value) {
    super.setGradient(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Gradient();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setDescription(java.lang.String value) {
    super.setDescription(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getDescriptionStyle_Description();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setStrikeThrough(boolean value) {
    super.setStrikeThrough(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_StrikeThrough();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setFontHeight(int value) {
    super.setFontHeight(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontHeight();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setMutable(boolean value) {
    super.setMutable(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setType(java.lang.String value) {
    super.setType(value);

    EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void setRoundedBendpointsRadius(int value) {
    super.setRoundedBendpointsRadius(value);

    EStructuralFeature feature =
        NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
    ForceValueHelper.setValue(this, feature, value);
  }
  @Override
  public void eUnset(int featureId) {
    super.eUnset(featureId);

    EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
    if (feature != null) {
      ForceValueHelper.unsetValue(this, feature);
    }
  }