anchor.diff:  * `System.getenv()` (ordinal=300)
   * all `META-INF/config.properties` or config.xml or config.json files on the ClassPath. (ordinal=100, separately configurable via a config_ordinal property inside each file)
   
  -Therefore, the default values can be specified in the above files and the value can be overwritten on deployment.
  +Therefore, the default values can be specified in the above files packaged with the application and the value can be overwritten later on deployment.
   
   == Custom ConfigSources
   
  -It is possible to write and register custom `ConfigSource` s.
  -An example would be a ConfigSource which gets the configured values from a shared database table in a cluster.
  +It is possible to write and register a custom `ConfigSource` s. An example would be a ConfigSource which gets the configured values from a shared database table in a cluster.
   
   == Building
   
  
positive.code: 
  == Design
  
  ConfigProvider is the bootstrap class, which has static methods to get hold of config object, which is the aggregated properties from multiple data sources registered explicitly and the default ones.
  The default config sources are:
  
  * System properties (ordinal=400)
  * Environment properties (ordinal=300)
  
negative.code: * /META-INF/config.xml (ordinal=100)
  * /META-INF/config.json (ordinal=100)
  
  If there is some custom config data to be configured, the config sources can be added by calling `ConfigProvider.getBuilder().withSources()`
  
  A `Config` consists of the information collected from the registered `javax.config.spi.ConfigSource` s.
  These `ConfigSource` s get sorted according to their _ordinal_.
  That way it is possible to overwrite configuration with lower importance from outside.
  
  By default there are 3 default ConfigSources:
  