Implementations should override this method if they need to handle laying out its contents.
Mostly just Containers need to do this.