Thanks for the critiques. You're completely right - referencing an image that the interface doesn't require is not at all what we want to do here. I've filed an API review ticket against the team and will update here with any changes we make.

We don't add the extends ClientBundle until the very last interface because this triggers the GWT ClientBundle generators. Whenever we add extends ClientBundle, every CSS file that is included into a CssResource must already be specified. As a result, we only add extends ClientBundle on the Blue resources class.

NestedDivFrameResources defines the images required for the frame. However, the base theme does not provide any images. The interface should be extended to provide implementation. Because images are not provided in the base theme, the interface does not extend ClientBundle as this would cause errors as GWT tries to validate that images exist. Subclasses should extend ClientBundle.

I have added better docs to NestedDivFrame and NestedDivFrameResources to make this clear.