code: public Parameters override(Parameters parameters, boolean recursive) {
  		Parameters result = new Parameters();
  		if (recursive) {
  			RecursiveObjectWriter.copyProperties(result, this);
  			RecursiveObjectWriter.copyProperties(result, parameters);
  		} else {
  			ObjectWriter.setProperties(result, this);
  			ObjectWriter.setProperties(result, parameters);
  		}
  		return result;
  	}
docs: Overrides parameters with new values from specified Parameters and returns a
  new Parameters object.
  
  @param parameters Parameters with parameters to override the current values.
  @param recursive  (optional) true to perform deep copy, and false for shallow
  copy. Default: false
  @return a new Parameters object.