code: public String getString(String key) {
      Object value = get(key);
      if (value instanceof String) {
        return (String) value;
      } else if (value != null) {
        return String.valueOf(value);
      }
      return null;
    }
docs: Returns the value mapped by {@code key} if it exists and is a string or can be coerced to a
  string. Returns null otherwise.
  
  <p>This will return null only if the value does not exist, since all types can have a String
  representation.