code: @Override
      public void put(String name, Scriptable start, Object value)
      {
          if (putImpl(name, 0, start, value))
              return;
  
          if (start == this) throw Kit.codeBug();
          start.put(name, start, value);
      }
docs: Sets the value of the named property, creating it if need be.
  
  If the property was created using defineProperty, the
  appropriate setter method is called. <p>
  
  If the property's attributes include READONLY, no action is
  taken.
  This method will actually set the property in the start
  object.
  
  @param name the name of the property
  @param start the object whose property is being set
  @param value value to set the property to