code: private boolean load(InputStream in) throws IOException, StreamCorruptedException {
          boolean updated = false;
          Iterable<Version> loadedVersions = loadData(in);
          for (Version loadedVersion : loadedVersions) {
              // see https://github.com/ThreeTen/threetenbp/pull/28 for issue wrt
              // multiple versions of lib on classpath
              Version existing = versions.putIfAbsent(loadedVersion.versionId, loadedVersion);
              if (existing != null && !existing.versionId.equals(loadedVersion.versionId)) {
                  throw new ZoneRulesException("Data already loaded for TZDB time-zone rules version: " + loadedVersion.versionId);
              }
              updated = true;
          }
          return updated;
      }
docs: Loads the rules from an input stream.
  
  @param in  the stream to load, not null, not closed after use
  @throws Exception if an error occurs