code: public static synchronized Map<Property, Object> loadProperties(final @Nullable InputStream inputStream, final boolean addProperties) {
  		final Properties prop = new Properties();
  
  		try {
  			prop.load(checkArgumentNotEmpty(inputStream, "InputStream was null"));
  		} catch (final IOException e) {
  			throw new IllegalStateException("error reading properties file from inputstream", e);
  		} finally {
  			if (inputStream != null) {
  				try {
  					inputStream.close();
  				} catch (final IOException e) {
  					LOGGER.error(e.getMessage(), e);
  				}
  			}
  		}
  
  		if (!addProperties) {
  			RESOLVED_PROPERTIES.clear();
  		}
  		RESOLVED_PROPERTIES.putAll(readProperties(prop));
  		return unmodifiableMap(RESOLVED_PROPERTIES);
  	}
docs: Loads properties from {@link InputStream}. Calling this method only has effect on new Email and Mailer instances after this.
  
  @param inputStream   Source of property key=value pairs separated by newline \n characters.
  @param addProperties Flag to indicate if the new properties should be added or replacing the old properties.
  @return The updated properties map that is used internally.