@Override
  public void processDrop(final GuiEditor editor,
                          final RadComponent[] components,
                          final GridConstraints @Nullable [] constraintsToAdjust,
                          final ComponentDragObject dragObject) {
    int row = getRow();
    int col = getColumn();
    RadContainer container = getContainer();
    boolean canGrow = isRowInsert() ? dragObject.isVGrow() : dragObject.isHGrow();
    int cell = isRowInsert() ? getRow() : getColumn();

    int cellsToInsert = 1;
    if (components.length > 0) {
      int cellSize = container.getGridCellCount(isRowInsert());
        Rectangle rc = getDragObjectDimensions(dragObject, cell < cellSize - 1);
        int size = isRowInsert() ? rc.height : rc.width;
        if (size > 0) {
          cellsToInsert = size;
      }
    }

    GridSpanInsertProcessor spanInsertProcessor =
      mySpanInsertMode && dragObject.getComponentCount() == 1 ? new GridSpanInsertProcessor(container, getRow(), getColumn(), myMode,
                                                                                            dragObject) : null;

    int newCell = insertGridCells(container, cell, cellsToInsert, canGrow, isRowInsert(), !isInsertAfter(), constraintsToAdjust);
    if (isRowInsert()) {
      row = newCell;
    }
    else {
      col = newCell;
    }

    if (components.length > 0) {
      if (spanInsertProcessor != null) {
        spanInsertProcessor.doBefore(newCell);
      }

      dropIntoGrid(container, components, row, col, dragObject);

      if (spanInsertProcessor != null) {
        spanInsertProcessor.doAfter(newCell);
      }
    }
  }
@Override
  public void processDrop(final GuiEditor editor,
                          final RadComponent[] components,
                          final GridConstraints @Nullable [] constraintsToAdjust,
                          final ComponentDragObject dragObject)