Point sourceCenterPoint = new Point(source.getAbsoluteLeft()+(source.getWidth()/2),source.getAbsoluteTop()+(source.getHeight()/2));
Point targetCenterPoint = new Point(target.getAbsoluteLeft()+(target.getWidth()/2),target.getAbsoluteTop()+(target.getHeight()/2));
Point sourceIntersectionPoint = Util.getInstance().getClosestIntersectionPointForRectangle(sourceCenterPoint, targetCenterPoint, source.getAbsoluteLeft(), source.getAbsoluteTop(), (int)source.getWidth(), (int)source.getHeight());
Point targetIntersectionPoint = Util.getInstance().getClosestIntersectionPointForRectangle(targetCenterPoint, sourceCenterPoint, target.getAbsoluteLeft(), target.getAbsoluteTop(), (int)target.getWidth(), (int)target.getHeight());