code: private void validateDependencies(Iterable<DependencyInfo> preparsedFileDependencies,
        Iterable<DependencyInfo> parsedFileDependencies) {
      // Create a map of namespace -> file providing it.
      // Also report any duplicate provides.
      Map<String, DependencyInfo> providesMap = new LinkedHashMap<>();
      addToProvideMap(preparsedFileDependencies, providesMap, true);
      addToProvideMap(parsedFileDependencies, providesMap, false);
      // For each require in the parsed sources:
      for (DependencyInfo depInfo : parsedFileDependencies) {
        Multiset<String> symbols = ImmutableMultiset.copyOf(depInfo.getRequiredSymbols());
        for (String symbol : symbols.elementSet()) {
          if (symbols.count(symbol) > 1) {
            reportDuplicateRequire(symbol, depInfo);
          }
        }
  
        for (Require require : depInfo.getRequires()) {
          String namespace = require.getSymbol();
          // Check for missing provides.
          DependencyInfo provider = providesMap.get(namespace);
          if (provider == null) {
            reportUndefinedNamespace(namespace, depInfo);
          } else if (provider == depInfo) {
            reportSameFile(namespace, depInfo);
          } else {
            depInfo.isModule();
            boolean providerIsEs6Module = "es6".equals(provider.getLoadFlags().get("module"));
  
            switch (require.getType()) {
              case ES6_IMPORT:
                if (!providerIsEs6Module) {
                  reportEs6ImportForNonEs6Module(provider, depInfo);
                }
                break;
              case GOOG_REQUIRE_SYMBOL:
              case PARSED_FROM_DEPS:
                break;
              case COMMON_JS:
              case COMPILER_MODULE:
              default:
                throw new IllegalStateException("Unexpected import type: " + require.getType());
            }
          }
        }
      }
    }
docs: Reports if there are any dependency problems with the given dependency
  information. Reported problems include:
  - A namespace being provided more than once
  - A namespace being required multiple times from within one file
  - A namespace being provided and required in the same file
  - A namespace being required that is never provided
  @param preparsedFileDependencies Dependency information from existing
  deps.js files.
  @param parsedFileDependencies Dependency information from parsed .js files.