code: private void process() {
      if (hasExternsRoot()) {
        sourceKind = SourceKind.EXTERN;
        NodeTraversal.traverse(compiler, externsRoot, new BuildGlobalNamespace());
      }
      sourceKind = SourceKind.CODE;
  
      NodeTraversal.traverse(compiler, root, new BuildGlobalNamespace());
      generated = true;
      externsScope = null;
    }
docs: Builds the namespace lazily.