class FutureMessageBuffer {

  public List<Message> retrieveMessagesForHeight(final long height) {
    chainHeight = height;
    final List<Message> messages = buffer.getOrDefault(height, Collections.emptyList());
    discardPreviousHeightMessages();
    return messages;
  }

  public  FutureMessageBuffer(
      final long futureMessagesMaxDistance,
      final long futureMessagesLimit,
      final long chainHeight);

}