code: private void _reset() throws UnsupportedEncodingException {
          try {
              close();
          } catch (IOException e) {}
          if (lineNo == 0) {
              return;
          }
          InputStream is = ICUData.getStream(root, resourceName);
          if (is == null) {
              throw new IllegalArgumentException("Can't open " + resourceName);
          }
  
          InputStreamReader isr =
              (encoding == null) ? new InputStreamReader(is) :
                                   new InputStreamReader(is, encoding);
          reader = new BufferedReader(isr);
          lineNo = 0;
      }
docs: Reset to the start by reconstructing the stream and readers.
  We could also use mark() and reset() on the stream or reader,
  but that would cause them to keep the stream data around in
  memory.  We don't want that because some of the resource files
  are large, e.g., 400k.