* {@link #elementPositioner} with updated alignment values which might work to fix the problem.
*/
private boolean checkPositionValidAndMaybeUpdatePositioner() {
// recalculate the element's dimensions and check to see if any of the edges
// of the element are outside the window
ClientRect elementRect = ensureVisibleAndGetRect(element);
VerticalAlign updatedVerticalAlign = elementPositioner.getVerticalAlignment();
HorizontalAlign updatedHorizontalAlign = elementPositioner.getHorizontalAlignment();
if (elementRect.getBottom() > Window.getClientHeight()) {
updatedVerticalAlign = VerticalAlign.TOP;
} else if (elementRect.getTop() < 0) {
updatedVerticalAlign = VerticalAlign.BOTTOM;
}
if (elementRect.getRight() > Window.getClientWidth()) {
updatedHorizontalAlign = HorizontalAlign.RIGHT;
} else if (elementRect.getLeft() < 0) {
updatedHorizontalAlign = HorizontalAlign.LEFT;
}
if (updatedVerticalAlign != elementPositioner.getVerticalAlignment()
|| updatedHorizontalAlign != elementPositioner.getHorizontalAlignment()) {