Bug 100688 [JFace] Geometry.setLocation does not behave as documented
Geometry.setLocation incorrectly modifies the size of the rectangle, when it should modify the origin.
bundles/org.eclipse.jface/src/org/eclipse/jface/util/Geometry.java
* 
     * @param boundary rectangle to test
     * @param toTest point to compare
     * @return one of SWT.LEFT, SWT.RIGHT, SWT.TOP, or SWT.BOTTOM
     * 
     * @since 3.0
     */
    public static int getClosestSide(Rectangle boundary, Point toTest) {
        int[] sides = new int[] { SWT.LEFT, SWT.RIGHT, SWT.TOP, SWT.BOTTOM };
        int closestSide = SWT.LEFT;
        int closestDistance = Integer.MAX_VALUE;
        for (int idx = 0; idx < sides.length; idx++) {
            int side = sides[idx];
            int distance = getDistanceFromEdge(boundary, toTest, side);
            if (distance < closestDistance) {
                closestDistance = distance;
                closestSide = side;
            }
        }
        return closestSide;
    }
    /**
     * Returns a copy of the given rectangle
     * 
     * @param toCopy rectangle to copy
     * @return a copy of the given rectangle
     * @since 3.0
     */
    public static Rectangle copy(Rectangle toCopy) {
        return new Rectangle(toCopy.x, toCopy.y, toCopy.width, toCopy.height);