Bug 254673 [JFace] Window javadoc hints at overriding createShell() when this is not possible
This is the javadoc of Window's createShell() method: /** * Creates and returns this window's shell. * <p> * The default implementation of this framework method creates * a new shell and configures it using <code/>configureShell</code>. Rather * than override this method, subclasses should instead override * <code/>configureShell</code>. * </p> * * @return the shell */ The statement "Rather than override this method, subclasses should instead override configureShell." somewhat sounds like a warning that the user should do one instead of the other...but you could still go the other way if you so desire. However, overriding createShell() is not actually even possible because it is spec'ed as being final.
bundles/org.eclipse.jface/src/org/eclipse/jface/window/Window.java
* This framework method is called by the <code>create</code> framework
	 * method. The default implementation calls <code>getInitialSize</code>
	 * and <code>getInitialLocation</code> and passes the results to
	 * <code>Shell.setBounds</code>. This is only done if the bounds of the
	 * shell have not already been modified. Subclasses may extend or
	 * reimplement.
	 * </p>
	 */
	protected void initializeBounds() {
		if (resizeListener != null) {
			shell.removeListener(SWT.Resize, resizeListener);
		}
		if (resizeHasOccurred) { 
			return;
		}
		Point size = getInitialSize();
		Point location = getInitialLocation(size);
		shell.setBounds(getConstrainedShellBounds(new Rectangle(location.x,
				location.y, size.x, size.y)));
	}
	/**
	 * Opens this window, creating it first if it has not yet been created.
	 * <p>
	 * If this window has been configured to block on open (
	 * <code>setBlockOnOpen</code>), this method waits until the window is
	 * closed by the end user, and then it returns the window's return code;
	 * otherwise, this method returns immediately. A window's return codes are
	 * window-specific, although two standard return codes are predefined:
	 * <code>OK</code> and <code>CANCEL</code>.
	 * </p>