@Override
    public boolean update(DnDEvent aEvent) {
      aEvent.setDropPossible(false);
      if (mySelectedContainer == null) {
        return false;
      }
      if (!(aEvent.getAttachedObject() instanceof MyDragBean bean)) {
        return false;
      }
      if (bean.isRow != myIsRow || bean.cells.length == 0) {
        return false;
      }
      int gridLine = getDropGridLine(aEvent);
      setDropInsertLine(gridLine);
      aEvent.setDropPossible(gridLine >= 0);
      if (gridLine >= 0) {
        FeedbackPainter painter = myIsRow ? HorzInsertFeedbackPainter.INSTANCE : VertInsertFeedbackPainter.INSTANCE;
        Rectangle rcFeedback = new Rectangle(mySelectedContainer.getDelegee().getSize());
        Rectangle cellRect = new Rectangle(gridLine, gridLine, 1, 1);
        rcFeedback = GridInsertLocation.getInsertFeedbackPosition(myIsRow ? GridInsertMode.RowBefore : GridInsertMode.ColumnBefore,
                                                                  mySelectedContainer, cellRect, rcFeedback);
        myEditor.getActiveDecorationLayer().putFeedback(mySelectedContainer.getDelegee(), rcFeedback, painter, null);
      }
      else {
        myEditor.getActiveDecorationLayer().removeFeedback();
      }
      return false;
    }
@Override
    public boolean update(DnDEvent aEvent)