At runtime, the system never asks for properties directly from a provider. The request always goes to a channel. If a Java provider object requests a property, it searches the display profile in the following order until it finds the property, or until it reaches the top of the containment hierarchy:
Channel’s properties
Channel’s provider’s properties
Channel’s parent’s properties
Channel’s parent’s provider’s properties
Channel’s parent’s properties (and so on)
The global properties bag defined in the display profile root definition
Therefore, when a channel asks for the names of its properties, it gets the set of the union of all the above.
Properties that exist in a provider object are intended to have the semantics of default values for the channel. For example, for a provider XML that defines property title, all channels that are derived from provider XML inherit the title property. If the channel wants to override this property, it can set the value within its own properties.