classDiagram
    class TaskDisplayArea 
	class DisplayArea~T: WindowContainer~
	class WindowContainer~E: WindowContainer~
	class ConfigurationContainer~E: ConfigurationContainer~ {
		<>
		+ getChildCount() int
		+ getChildAt(int index) E
		+ getParent() ConfigurationContainer
	}
	TaskDisplayArea --|> DisplayArea
	DisplayArea --|> WindowContainer
	WindowContainer --|> ConfigurationContainer
	WindowToken --|> WindowContainer
	TaskFragment --|> WindowContainer
	WindowState --|> WindowContainer
	RootWindowContainer --|> WindowContainer

	ActivityRecord --|> WindowToken
	WallpaperWindowToken --|> WindowToken

	Task --|> TaskFragment