private @Nullable ResizeInfo getInfoForResizeUnder(@NotNull Point point) {
        return ContainerUtil.getFirstItem(ContainerUtil.mapNotNull(myEditor.getContentComponent().getComponents(), component -> {
          if (!(component instanceof MyRenderer)) return null;
          ResizePolicy policy = ((MyRenderer)component).resizePolicy;
          if (!policy.isResizable()) return null;
          Inlay<MyRenderer> inlay = ((MyRenderer)component).myInlay;
          if (inlay == null) return null;
          Rectangle bounds = inlay.getBounds();
          if (bounds == null) return null;
          int pressY = point.y;
          int pressX = point.x;
          int inlayTY = bounds.y;
          int inlayLX = bounds.x;
          int inlayBY = bounds.y + bounds.height;
          int inlayRX = bounds.x + bounds.width;
          boolean dragFromBottom = policy.isResizableFromBottom() && isInside(pressX, inlayLX, inlayRX) && isNearTo(pressY, inlayBY);
          boolean dragFromRight = policy.isResizableFromRight() && isInside(pressY, inlayTY, inlayBY) && isNearTo(pressX, inlayRX);
          ResizeDirection direction = dragFromBottom && dragFromRight ? ResizeDirection.BOTTOM_RIGHT :
                                      dragFromBottom ? ResizeDirection.BOTTOM :
                                      dragFromRight ? ResizeDirection.RIGHT :
                                      null;
          return direction == null ? null : new ResizeInfo(inlay, direction);
        }));
      }
private @Nullable ResizeInfo getInfoForResizeUnder(@NotNull Point point)