/**
   * Override to : -> Put in "Movin state" this edit part and all its children which are Group
   * Framework concern
   */
  @Override
  public Command getCommand(Request request) {
    if (request instanceof ChangeBoundsRequest) {
      final ChangeBoundsRequest req = (ChangeBoundsRequest) request;
      CompositeCommand cc = new CompositeCommand("GroupNotifyingEditPolicy ");
      for (final EditPart part : Utils.getTargetedEditPart(req)) {
        ICommand cmd =
            getGroupRequestAdvisor()
                .notifyGroupFramework(
                    new AbstractGroupRequest(
                        (IGraphicalEditPart) getHost(),
                        Utils.getChangeBoundsRequestCopy(req, part),
                        part,
                        getTargetGroupDescriptor(part)) {

                      public GroupRequestType getGroupRequestType() {
                        return GroupRequestType.MOVE;
                      }
                    });
        if (cmd != null && cmd.canExecute()) {
          cc.compose(cmd);
        }
      }
      stopMovingPartState(req);
      if (cc != null && cc.canExecute()) {
        return new ICommandProxy(cc);
      }
    }
    return null;
  }