code: public void set(PropertyKey key, Object value, Source source) {
      Preconditions.checkArgument(key != null && value != null && !value.equals(""),
          String.format("The key value pair (%s, %s) cannot be null", key, value));
      Preconditions.checkArgument(!value.equals(""),
          String.format("The key \"%s\" cannot be have an empty string as a value. Use "
              + "ServerConfiguration.unset to remove a key from the configuration.", key));
      mProperties.put(key, String.valueOf(value), source);
    }
docs: Sets the value for the appropriate key in the {@link Properties} by source.
  
  @param key the key to set
  @param value the value for the key
  @param source the source of the the properties (e.g., system property, default and etc)