VisualPosition (@NotNull Point2D p) { assertValid(); Point2D pp = p.getX() >= 0 && p.getY() >= 0 ? p : new Point2D.Double(Math.max(p.getX(), 0), Math.max(p.getY(), 0)); LogicalPosition hostPos = myDelegate.visualToLogicalPosition(myDelegate.xyToVisualPosition(pp)); return logicalToVisualPosition(hostToInjected(hostPos)); }