code: protected void configurePropertySources(ConfigurableEnvironment environment,
  			String[] args) {
  		MutablePropertySources sources = environment.getPropertySources();
  		if (this.defaultProperties != null && !this.defaultProperties.isEmpty()) {
  			sources.addLast(
  					new MapPropertySource("defaultProperties", this.defaultProperties));
  		}
  		if (this.addCommandLineProperties && args.length > 0) {
  			String name = CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME;
  			if (sources.contains(name)) {
  				PropertySource<?> source = sources.get(name);
  				CompositePropertySource composite = new CompositePropertySource(name);
  				composite.addPropertySource(new SimpleCommandLinePropertySource(
  						"springApplicationCommandLineArgs", args));
  				composite.addPropertySource(source);
  				sources.replace(name, composite);
  			}
  			else {
  				sources.addFirst(new SimpleCommandLinePropertySource(args));
  			}
  		}
  	}
docs: Add, remove or re-order any {@link PropertySource}s in this application's
  environment.
  @param environment this application's environment
  @param args arguments passed to the {@code run} method
  @see #configureEnvironment(ConfigurableEnvironment, String[])