code: public CompilationUnit getCompilationUnit(String name,
              CompilationUnit from) {
          String fqName = determineQualifiedName(name, from);
  
          // Templates with source will always override compiled templates
          boolean compiled = false;
          if (fqName == null && (compiled = CompiledTemplate.exists(this, name, from))) {
              fqName = CompiledTemplate.getFullyQualifiedName(name);
          }
          if (fqName == null)
              return null;
  
          CompilationUnit unit = mCompilationUnitMap.get(fqName);
          if (unit == null) {
              if (!compiled) {
                  unit = createCompilationUnit(fqName);
                  if (unit != null)
                      mCompilationUnitMap.put(fqName, unit);
              } else {
                  unit = new CompiledTemplate(name, this, from);
                  // if the CompiledTemplate class was precompiled (is valid) return the unit, otherwise return null to signify 'not found'
                  if( ((CompiledTemplate)unit).isValid() ) {
                      mCompilationUnitMap.put(fqName, unit);
                  } else {
                      // TODO:  flag the template class for removal
                      unit = null;
                  }
              }
          }
  
          return unit;
      }
docs: Returns a compilation unit associated with the given name, or null if
  not found.
  
  @param name the requested name
  @param from optional CompilationUnit is passed because requested name
  should be found relative to it.