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
* Creates this window's widgetry in a new top-level shell.
	 * <p>
	 * The default implementation of this framework method creates this window's
	 * shell (by calling <code>createShell</code>), and its controls (by
	 * calling <code>createContents</code>), then initializes this window's
	 * shell bounds (by calling <code>initializeBounds</code>).
	 * </p>
	 */
	public void create() {
		shell = createShell();
		contents = createContents(shell);
		
		
		initializeBounds();
	}
	/**
	 * Creates and returns this window's contents. Subclasses may attach any
	 * number of children to the parent. As a convenience, the return value of
	 * this method will be remembered and returned by subsequent calls to
	 * getContents(). Subclasses may modify the parent's layout if they overload
	 * getLayout() to return null.
	 * 
	 * <p>
	 * It is common practise to create and return a single composite that
	 * contains the entire window contents.
	 * </p>
	 * 
	 * <p>
	 * The default implementation of this framework method creates an instance
	 * of <code>Composite</code>. Subclasses may override.