/**
   * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that
   * can be created under this object.
   * <!--
   * begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  @Override
  protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
    super.collectNewChildDescriptors(newChildDescriptors, object);

    newChildDescriptors.add(
        createChildParameter(
            org.eclipse.sirius.diagram.description.DescriptionPackage.Literals
                .ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS,
            DescriptionFactory.eINSTANCE.createInstanceRoleMapping()));

    newChildDescriptors.add(
        createChildParameter(
            org.eclipse.sirius.diagram.description.DescriptionPackage.Literals
                .ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS,
            DescriptionFactory.eINSTANCE.createExecutionMapping()));

    newChildDescriptors.add(
        createChildParameter(
            org.eclipse.sirius.diagram.description.DescriptionPackage.Literals
                .ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS,
            DescriptionFactory.eINSTANCE.createStateMapping()));

    newChildDescriptors.add(
        createChildParameter(
            org.eclipse.sirius.diagram.description.DescriptionPackage.Literals
                .ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS,
            DescriptionFactory.eINSTANCE.createEndOfLifeMapping()));

    newChildDescriptors.add(
        createChildParameter(
            org.eclipse.sirius.diagram.description.DescriptionPackage.Literals
                .ABSTRACT_NODE_MAPPING__BORDERED_NODE_MAPPINGS,
            DescriptionFactory.eINSTANCE.createObservationPointMapping()));
  }
 /**
  * This returns the property descriptors for the adapted class.
  * <!--
  * begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 @Override
 public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
   if (itemPropertyDescriptors == null) {
     super.getPropertyDescriptors(object);
   }
   return itemPropertyDescriptors;
 }
  /**
   * This returns the property descriptors for the adapted class.
   * <!--
   * begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @generated
   */
  @Override
  public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
    if (itemPropertyDescriptors == null) {
      super.getPropertyDescriptors(object);

      addStartingEndFinderExpressionPropertyDescriptor(object);
      addFinishingEndFinderExpressionPropertyDescriptor(object);
    }
    return itemPropertyDescriptors;
  }
  /**
   * This handles model notifications by calling {@link #updateChildren} to update any cached
   * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
   * <!-- begin-user-doc -->
   * <!--
   * end-user-doc -->
   *
   * @generated
   */
  @Override
  public void notifyChanged(Notification notification) {
    updateChildren(notification);

    switch (notification.getFeatureID(StateMapping.class)) {
      case DescriptionPackage.STATE_MAPPING__STARTING_END_FINDER_EXPRESSION:
      case DescriptionPackage.STATE_MAPPING__FINISHING_END_FINDER_EXPRESSION:
        fireNotifyChanged(
            new ViewerNotification(notification, notification.getNotifier(), false, true));
        return;
    }
    super.notifyChanged(notification);
  }
 /**
  * This handles model notifications by calling {@link #updateChildren} to update any cached
  * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
  * <!-- begin-user-doc -->
  * <!--
  * end-user-doc -->
  *
  * @generated
  */
 @Override
 public void notifyChanged(Notification notification) {
   updateChildren(notification);
   super.notifyChanged(notification);
 }