docs: @Override
      public void accept(double value)
      {
          writeLock.lock();
          try
          {
              eliminate();
              if (parent == null && count() >= size)
              {
                  grow();
              }
              endIncr();
              PrimitiveIterator.OfInt rev = modReverseIterator();
              int e = rev.nextInt();
              assign(e, value);
              while (rev.hasNext())
              {
                  e = rev.nextInt();
                  if (exceedsBounds(e, value))
                  {
                      assign(e, value);
                  }
                  else
                  {
                      break;
                  }
              }
          }
          finally
          {
              writeLock.unlock();
          }
      }