code: public synchronized U update(int i, Function<U, U> updater) {
      U updated = updater.apply(this.get(i));
      set(i, updated);
      return updated;
    }
docs: Update u.
  
  @param i       the
  @param updater the updater
  @return the u