code: @Override
      public CompilationSource createCompilationSource(String name) {
          File sourceFile = getSourceFile(name);
          if (sourceFile == null || !sourceFile.exists()) {
              return null;
          }
          
          return new FileSource(name, sourceFile);
      }
docs: Always returns an instance of FileCompiler.Unit. Any errors reported
  by the compiler that have a reference to a CompilationUnit will have
  been created by this factory method. Casting this to FileCompiler.Unit
  allows error reporters to access the source file via the getSourceFile
  method.
  
  @see FileCompilationProvider.Unit#getSourceFile