@Override
  public CompilerConfiguration[]
      createPrecompileConfigurations(final File prototype, final String[] nonPrecompiledFiles) {
    if (this.compiler instanceof PrecompilingCompiler) {
      return ((PrecompilingCompiler) this.compiler)
          .createPrecompileConfigurations(this, prototype, nonPrecompiledFiles);
    }
    return null;
  }
@ Override public CompilerConfiguration [ ] createPrecompileConfigurations ( final File prototype , final String [ ] nonPrecompiledFiles ) { if ( this . compiler instanceof PrecompilingCompiler ) { return ( ( PrecompilingCompiler ) this . compiler ) . createPrecompileConfigurations ( this , prototype , nonPrecompiledFiles ) ; } return null ; }
This method may be used to get two distinct compiler configurations, one
for compiling the specified file and producing a precompiled header
file, and a second for compiling other files using the precompiled
header file.

The last (preferrably only) include directive in the prototype file will
be used to mark the boundary between pre-compiled and normally compiled
headers.

@param prototype
A source file (for example, stdafx.cpp) that is used to build
the precompiled header file. @returns null if precompiled
headers are not supported or a two element array containing
the precompiled header generation configuration and the
consuming configuration