Conflate Configuration and Parameters interfaces.
The Parameters interface was created to be a simple, general configuration interface; while the Configuration interface was meant to add more complex configuration items. In practice the additional item was mainly just a fallback configuration. The distinction was somewhat artificial, as methods in Parameters still threw MissingParameterException, a subclass ConfigurationException.
The API can be simplified by combining the two interfaces, leaving one Configuration interface. Configuration fallback should be moved to a wrapper class, so that any configuration can be provided a fallback just by wrapping a class around it. This will provide several benefits:
The API will be simpler with one fewer interfaces.
Each Configuration implementation will be simpler, as it won't have to worry about managing a fallback.
Setting up configuration chains will be easier, as fallbacks can be indicated after a configuration has been created.