docs: public void receive(byte[] buf, int off, int siz) throws IOException {
      int s = 0;
  
      while (s < siz) {
        int w = pgInput.read(buf, off + s, siz - s);
        if (w < 0) {
          throw new EOFException();
        }
        s += w;
      }
    }