code: public JsonObject put(String name, JsonElement value) throws JsonException {
          checkIfFrozen();
          putInternal(name, value);
          return this;
      }
docs: Maps {@code name} to {@code value}, clobbering any existing name/value
  mapping with the same name. If the value is {@code null}, any existing
  mapping for {@code name} is removed.
  
  @param value a {@link JsonObject}, {@link JsonArray}, {@link JsonString}, {@link JsonBoolean},
  {@link JsonNumber}, {@link JsonNull}. May not be
  {@link Double#isNaN() NaNs} or {@link Double#isInfinite()
  infinities}.
  @return this object.