code: public <T extends Entry<T>> T create(Class<T> type) {
      Assert.notNull(type, "type");
      assertIsOpen();
      return entryPool.acquire(type, currentSegment().nextIndex());
    }
docs: Creates a new log entry.
  <p>
  Users should ensure that the returned {@link Entry} is closed once the write is complete. Closing the entry will
  result in its contents being persisted to the log. Only a single {@link Entry} instance may be open via the this
  method at any given time.
  
  @param type The entry type.
  @return The log entry.
  @throws IllegalStateException If the log is not open
  @throws NullPointerException If the {@code type} is {@code null}