docs: private Polygon readPoly(DataInput pStream, Rectangle pBounds) throws IOException {
          // Get polygon data size
          int size = pStream.readUnsignedShort();
  
          // Get poly bounds
          readRectangle(pStream, pBounds);
  
          // Initialize the point array to the right size
          int points = (size - 10) / 4;
  
          // Get the rest of the polygon points
          Polygon polygon = new Polygon();
  
          for (int i = 0; i < points; i++) {
              int y = getYPtCoord(pStream.readShort());
              int x = getXPtCoord(pStream.readShort());
              polygon.addPoint(x, y);
          }
  
          if (!pBounds.contains(polygon.getBounds())) {
              processWarningOccurred("Bad poly, contains point(s) out of bounds " + pBounds + ": " + polygon);
          }
  
          return polygon;
      }