code: @Override
      public WsByteBuffer[] marshallLine() {
          WsByteBuffer[] firstLine = new WsByteBuffer[1];
          firstLine[0] = allocateBuffer(getOutgoingBufferSize());
  
          firstLine = putBytes(getVersionValue().getByteArray(), firstLine);
          firstLine = putByte(SPACE, firstLine);
          if (null == this.myReasonBytes) {
              // use the default value
              firstLine = putBytes(this.myStatusCode.getStatusWithPhrase(), firstLine);
          } else {
              // put the status code then the phrase
              firstLine = putBytes(this.myStatusCode.getByteArray(), firstLine);
              firstLine = putByte(SPACE, firstLine);
              firstLine = putBytes(getReasonPhraseBytes(), firstLine);
          }
          firstLine = putBytes(BNFHeaders.EOL, firstLine);
          // don't flip the last buffer as headers get tacked on the end
          if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
              Tr.event(tc, "Marshalling first line: " + getVersion() + " " + getStatusCodeAsInt() + " " + getReasonPhrase());
          }
          return firstLine;
      }
docs: Marshall the first line.
  
  @return WsByteBuffer[] of line ready to be written.