code: @Override
      public void writeInt(int value)
          throws IOException
      {
          int offset = _offset;
          byte[] buffer = _buffer;
  
          if (SIZE <= offset + 16) {
              flushBuffer();
              offset = _offset;
          }
  
          if (INT_DIRECT_MIN <= value && value <= INT_DIRECT_MAX)
              buffer[offset++] = (byte) (value + BC_INT_ZERO);
          else if (INT_BYTE_MIN <= value && value <= INT_BYTE_MAX) {
              buffer[offset++] = (byte) (BC_INT_BYTE_ZERO + (value >> 8));
              buffer[offset++] = (byte) (value);
          }
          else if (INT_SHORT_MIN <= value && value <= INT_SHORT_MAX) {
              buffer[offset++] = (byte) (BC_INT_SHORT_ZERO + (value >> 16));
              buffer[offset++] = (byte) (value >> 8);
              buffer[offset++] = (byte) (value);
          }
          else {
              buffer[offset++] = (byte) ('I');
              buffer[offset++] = (byte) (value >> 24);
              buffer[offset++] = (byte) (value >> 16);
              buffer[offset++] = (byte) (value >> 8);
              buffer[offset++] = (byte) (value);
          }
  
          _offset = offset;
      }
docs: Writes an integer value to the stream.  The integer will be written
  with the following syntax:
  
  <code><pre>
  I b32 b24 b16 b8
  </pre></code>
  
  @param value the integer value to write.