docs: @javax.annotation.Nonnull
    public static byte[] read(@javax.annotation.Nonnull final DataInputStream i, final int s) throws IOException {
      @javax.annotation.Nonnull final byte[] b = new byte[s];
      int pos = 0;
      while (b.length > pos) {
        final int read = i.read(b, pos, b.length - pos);
        if (0 == read) {
          throw new RuntimeException();
        }
        pos += read;
      }
      return b;
    }