@Override
    protected void processMouseMotionEvent(MouseEvent e) {
      super.processMouseMotionEvent(e);
      if (!myResizeEnabled) return;
      if (MouseEvent.MOUSE_DRAGGED == e.getID()) {
        myPoint = SwingUtilities.convertPoint(this, e.getPoint(), Splitter.this);
        float proportion;
        if (isVertical()) {
          if (getHeight() > 0) {
            float min = getMinProportion(true);
            float max = 1 - getMinProportion(false);
            proportion = MathUtil.clamp(Math.min(max, Math.max((float)myPoint.y / (float)Splitter.this.getHeight(), min)), .0f, 1.0f);
            setProportion(proportion);
          }
        }
        else {
          if (getWidth() > 0) {
            float min = getMinProportion(true);
            float max = 1 - getMinProportion(false);
            proportion = MathUtil.clamp(Math.min(max, Math.max((float)myPoint.x / (float)Splitter.this.getWidth(), min)), .0f, 1.0f);
            setProportion(proportion);
          }
        }
      }
    }
@Override
    protected void processMouseMotionEvent(MouseEvent e)