boolean startNewEntry(boolean firstRecordEntry) {
        Preconditions.checkState(!this.sealed, "DataFrame is sealed and cannot accept any more entries.");
        endEntry(true);

        if (getAvailableLength() < MIN_ENTRY_LENGTH_NEEDED) {
            // If we cannot fit at least entry header + 1 byte, we cannot record anything in this write frame anymore.
            return false;
        }

        this.writeEntryStartIndex = this.writePosition;
        this.writeEntryHeader = new WriteEntryHeader(this.contents.subSegment(this.writePosition, WriteEntryHeader.HEADER_SIZE));
        this.writeEntryHeader.setFirstRecordEntry(firstRecordEntry);
        this.writePosition += WriteEntryHeader.HEADER_SIZE;
        return true;
    }
boolean startNewEntry ( boolean firstRecordEntry ) { Preconditions . checkState ( ! this . sealed , "DataFrame is sealed and cannot accept any more entries." ) ; endEntry ( true ) ; if ( getAvailableLength ( ) < MIN_ENTRY_LENGTH_NEEDED ) { return false ; } this . writeEntryStartIndex = this . writePosition ; this . writeEntryHeader = new WriteEntryHeader ( this . contents . subSegment ( this . writePosition , WriteEntryHeader . HEADER_SIZE ) ) ; this . writeEntryHeader . setFirstRecordEntry ( firstRecordEntry ) ; this . writePosition += WriteEntryHeader . HEADER_SIZE ; return true ; }
Indicates that a new DataFrame Entry should be opened.

@param firstRecordEntry If true, this entry will be marked as the first entry in a record (records can be split
across multiple frames, and this helps ensure that, upon reading, the records are recomposed
starting with the right Data Frame Entry).
@return True if we were able to start an entry in this Frame, or false otherwise (this happens in case the frame is full).
If the frame is full, the new entry will need to be started on a new Frame.
@throws IllegalStateException If the entry is sealed.