docs: @Override
      public int read() throws IOException {
          int r = read(singleByte, 0, 1);
          while (r == 0) {
              r = read(singleByte, 0, 1);
          }
          if (r > 0) {
              final byte b = singleByte[0];
              return b < 0 ? 256 + b : b;
          }
          return EOF;
      }