Visibility is an interface a Bean may implement so that the environment
can tell the Bean whether there is a GUI or not, and so that the Bean
can tell the environment whether it needs one or can run without one.

IndexedPropertyDescriptor describes information about a JavaBean
indexed property, by which we mean an array-like property that
has been exposed via a pair of get and set methods and another
pair that allows you to get to the property by an index.