docs: private Field[] receiveFields() throws IOException {
      int msgSize = pgStream.receiveInteger4();
      int size = pgStream.receiveInteger2();
      Field[] fields = new Field[size];
  
      if (LOGGER.isLoggable(Level.FINEST)) {
        LOGGER.log(Level.FINEST, " <=BE RowDescription({0})", size);
      }
  
      for (int i = 0; i < fields.length; i++) {
        String columnLabel = pgStream.receiveString();
        int tableOid = pgStream.receiveInteger4();
        short positionInTable = (short) pgStream.receiveInteger2();
        int typeOid = pgStream.receiveInteger4();
        int typeLength = pgStream.receiveInteger2();
        int typeModifier = pgStream.receiveInteger4();
        int formatType = pgStream.receiveInteger2();
        fields[i] = new Field(columnLabel,
            typeOid, typeLength, typeModifier, tableOid, positionInTable);
        fields[i].setFormat(formatType);
  
        LOGGER.log(Level.FINEST, "        {0}", fields[i]);
      }
  
      return fields;
    }