Java plugins
Descriptions define the plugin type and name, and optional configuration properties
All Java plugin types use Descriptions.
Some Java plugin types have configuration properties.
Some plugin types can use @PluginProperty annotations to define properties, others must define them using a Description object.