public static void updateBoundsWithDropSide(@NotNull Rectangle bounds,
                                              @MagicConstant(intValues = {CENTER, TOP, LEFT, BOTTOM, RIGHT, -1}) int dropSide) {
    switch (dropSide) {
      case TOP -> bounds.height /= 2;
      case LEFT -> bounds.width /= 2;
      case BOTTOM -> {
        int h = bounds.height / 2;
        bounds.height -= h;
        bounds.y += h;
      }
      case RIGHT -> {
        int w = bounds.width / 2;
        bounds.width -= w;
        bounds.x += w;
      }
    }
  }
public static void updateBoundsWithDropSide(@NotNull Rectangle bounds,
                                              @MagicConstant(intValues = {CENTER, TOP, LEFT, BOTTOM, RIGHT, -1}) int dropSide)