docs: @Override
      public Collection<IQueueMessage<ID, DATA>> getOrphanMessages(long thresholdTimestampMs) {
          if (isEphemeralDisabled()) {
              return null;
          }
          synchronized (itEphemeral) {
              Collection<IQueueMessage<ID, DATA>> orphanMessages = new HashSet<>();
              long now = System.currentTimeMillis();
              itEphemeral.seekToFirst();
              while (itEphemeral.isValid()) {
                  byte[] value = itEphemeral.value();
                  IQueueMessage<ID, DATA> msg = deserialize(value);
                  if (msg.getQueueTimestamp().getTime() + thresholdTimestampMs < now) {
                      orphanMessages.add(msg);
                  }
                  itEphemeral.next();
              }
              return orphanMessages;
          }
      }