docs: public boolean readNextHeaderBlock()
      throws IOException, TarMalformatException {
  
          // We read a-byte-at-a-time because there should only be 2 empty blocks
          // between each Tar Entry.
          try {
              while (readStream.available() > 0) {
                  readBlock();
  
                  if (readBuffer[0] != 0) {
                      return true;
                  }
              }
          } catch (EOFException ee) {
              /* This is a work-around.
               * Sun Java's inputStream.available() works like crap.
               * Reach this point when performing a read of a GZip stream when
               * .available == 1, which according to API Spec, should not happen.
               * We treat this condition exactly as if readStream.available is 0,
               * which it should be.
               */
          }
  
          close();
  
          return false;
      }