@Override
  protected Dimension getSizeWithButton(Dimension size, Dimension editorSize) {
    ARROW_BUTTON_SIZE.update();

    Insets i = getInsets();
    int editorHeight = editorSize != null ? editorSize.height + i.top + i.bottom + padding.top + padding.bottom : 0;
    int editorWidth = editorSize != null ? editorSize.width + i.left + padding.left + padding.right : 0;
    editorWidth = Math.max(editorWidth, JBUI.CurrentTheme.ComboBox.minimumSize().width + i.left);

    int width = size != null ? size.width : 0;
    int height = size != null ? size.height : 0;

    width = Math.max(editorWidth + ARROW_BUTTON_SIZE.width, width + padding.left);
    height = Math.max(ARROW_BUTTON_SIZE.height, Math.max(editorHeight, height));

    return new Dimension(width, height);
  }
@Override
  protected Dimension getSizeWithButton(Dimension size, Dimension editorSize)