Switches between showing the child or hiding it.
maintain flags should be set to the same values regardless of the
state of the visible property, otherwise they will not operate correctly
(specifically, the state will be lost regardless of the state of
maintainState whenever any of the
maintain flags are changed, since
doing so will result in a subtree shape change).
final bool visible