Bug 86456 [Dialogs] Dialogs open on wrong monitor
bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java
Shell currentShell = d.getActiveShell();
            int modal = SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL | SWT.PRIMARY_MODAL;
            while (currentShell != null) {
                Shell parent = (Shell)currentShell.getParent();
                
                int style = currentShell.getStyle();
                if ((style & modal) != 0 || parent == null || !parent.isVisible()) {
                    return currentShell;
                }
                
                currentShell = parent;
            }
            
            return currentShell;            
        }
    };
    
	/**
	 * Object that returns the parent shell.
	 */
	private IShellProvider parentShell;
	/**
	 * Shell style bits.
	 * 
	 * @see #setShellStyle
	 */
	private int shellStyle = SWT.SHELL_TRIM;
	/**
	 * Window manager, or <code>null</code> if none.
	 *