code: public void put(String name, Object value) throws IllegalArgumentException {
          Class<?> valueClass = null;
          if (value != null) {
              valueClass = value.getClass();
          }
          ObjectSlot slot = findMandatorySlot(name, valueClass);
          slot.fieldValue = value;
          slot.defaulted = false; // No longer default value
      }
docs: Find and set the Object value of a given field named {@code name} in the
  receiver.
  
  @param name
  the name of the field to set.
  @param value
  new value for the field.
  
  @throws IllegalArgumentException
  if the corresponding field can not be found.