docs: private static void readZoneInfoMap(DataInputStream din, Map<String, Object> zimap) throws IOException {
          // Read the string pool.
          int size = din.readUnsignedShort();
          String[] pool = new String[size];
          for (int i=0; i<size; i++) {
              pool[i] = din.readUTF().intern();
          }
  
          // Read the mappings.
          size = din.readUnsignedShort();
          for (int i=0; i<size; i++) {
              try {
                  zimap.put(pool[din.readUnsignedShort()], pool[din.readUnsignedShort()]);
              } catch (ArrayIndexOutOfBoundsException ex) {
                  throw new IOException("Corrupt zone info map");
              }
          }
      }