code: void startNewRecord() throws IOException {
          Exceptions.checkNotClosed(this.closed, this);
  
          // If there is any data in the current frame, seal it and ship it.
          if (this.currentFrame == null) {
              // No active frame, create a new one.
              createNewFrame();
              startNewRecordInCurrentFrame(true);
          } else if (!this.currentFrame.startNewEntry(true)) {
              // Current Frame is full. Need to seal it and start a new one.
              flush();
              createNewFrame();
              startNewRecordInCurrentFrame(true);
          }
      }
docs: Indicates to the stream that a new record is about to be started. All subsequent writes will belong to this record.
  A record may span multiple data frames (and thus have multiple DataFrame entries), but the DataFrameOutputStream
  abstracts all of that.
  
  @throws IOException If we are unable to start a new record.