docs: public static void load(Class<?> parent, ClassLoader cl) {
      char[] buf = new char[0x4000];
      try {
        String fullName = RESOURCE_PREFIX + parent.getName();
        Enumeration<URL> configfiles = cl.getResources(fullName);
        while(configfiles.hasMoreElements()) {
          URL nextElement = configfiles.nextElement();
          URLConnection conn = nextElement.openConnection();
          conn.setUseCaches(false);
          try (
              InputStreamReader is = new InputStreamReader(conn.getInputStream(), "UTF-8");) {
            int start = 0, cur = 0, valid = is.read(buf, 0, buf.length);
            char c;
            while(cur < valid) {
              // Find newline or end
              while(cur < valid && (c = buf[cur]) != '\n' && c != '\r') {
                cur++;
              }
              if(cur == valid && is.ready()) {
                // Move consumed buffer contents:
                if(start > 0) {
                  System.arraycopy(buf, start, buf, 0, valid - start);
                  valid -= start;
                  cur -= start;
                  start = 0;
                }
                else if(valid == buf.length) {
                  throw new IOException("Buffer size exceeded. Maximum line length in service files is: " + buf.length + " in file: " + fullName);
                }
                valid = is.read(buf, valid, buf.length - valid);
                continue;
              }
              parseLine(parent, buf, start, cur);
              while(cur < valid && ((c = buf[cur]) == '\n' || c == '\r')) {
                cur++;
              }
              start = cur;
            }
          }
          catch(IOException x) {
            throw new AbortException("Error reading configuration file", x);
          }
        }
      }
      catch(IOException x) {
        throw new AbortException("Could not load service configuration files.", x);
      }
    }