code: public void moveToRawChannel(final String toChannel) {
          // Pause the asynchronous filler; it is not thread safe to fill while the move is taking place.  This is
          // because the move process may reassign slabs from this queue's write channel to toChannel's write channel. If the filler
          // is running it will poll the write channel (which is safe) and then delete the events it polled after they
          // are written to the read channel (which is not safe).  This is not thread safe because events are deleted
          // based on the containing slab, and if the slab has been moved to toChannel then this has the effect of
          // deleting the events from toChannel as well.
          _asyncFiller.pause();
          try {
              SortedQueue queue = getQueue();
              _eventStore.move(_writeChannel, toChannel);
              queue.drainTo(new Consumer() {
                  @Override
                  public void consume(List<ByteBuffer> records) {
                      _eventStore.addAll(toChannel, records);
                  }
              }, Long.MAX_VALUE);
              _eventStore.move(_readChannel, toChannel);
          } finally {
              _asyncFiller.resume();
          }
      }
docs: Implementation of {@link DedupEventStore#moveToRawChannel(String, String)}.