code: public void put(int index, Scriptable start, Object value) {
          if (start == this) {
              synchronized (this) {
                  indexedProps.put(new Integer(index), value);
              }
          } else {
              start.put(index, start, value);
          }
      }
docs: Sets the value of the indexed property, creating it if need be.
  
  @param index the numeric index for the property
  @param start the object whose property is being set
  @param value value to set the property to