docs: int encode( byte[] dst, int dstIndex ) {
          int start = headerStart = dstIndex;
  
          dstIndex += writeHeaderWireFormat( dst, dstIndex );
          dstIndex += writeAndXWireFormat( dst, dstIndex );
          length = dstIndex - start;
  
          if( digest != null ) {
              digest.sign( dst, headerStart, length, this, response );
          }
  
          return length;
      }