code: @NonNull
      @Override
      public MutableArray setValue(int index, Object value) {
          synchronized (lock) {
              if (Fleece.valueWouldChange(value, internalArray.get(index), internalArray)
                  && (!internalArray.set(index, Fleece.toCBLObject(value)))) {
                  throwRangeException(index);
              }
              return this;
          }
      }
docs: Set an object at the given index.
  
  @param index the index. This value must not exceed the bounds of the array.
  @param value the object
  @return The self object