docs: public final <T> boolean replace(String key, final int exp, final T value,
        final Transcoder<T> transcoder, final long timeout)
        throws TimeoutException, InterruptedException, MemcachedException {
      key = this.preProcessKey(key);
      byte[] keyBytes = this.checkStoreArguments(key, exp, value);
      return this.sendStoreCommand(
          this.commandFactory.createReplaceCommand(key, keyBytes, exp, value, false, transcoder),
          timeout);
    }