docs: public void setCompiler(final CompilerType compiler) {
          // check that the jar for the specified compiler are present
          if ( compiler == CompilerType.ECLIPSE ) {
              try {
                  Class.forName( "org.eclipse.jdt.internal.compiler.Compiler", true, this.conf.getClassLoader() );
              } catch ( ClassNotFoundException e ) {
                  throw new RuntimeException( "The Eclipse JDT Core jar is not in the classpath" );
              }
          } else if ( compiler == CompilerType.JANINO ){
              try {
                  Class.forName( "org.codehaus.janino.Parser", true, this.conf.getClassLoader() );
              } catch ( ClassNotFoundException e ) {
                  throw new RuntimeException( "The Janino jar is not in the classpath" );
              }
          }
          
          switch ( compiler ) {
              case ECLIPSE :
                  this.compiler = CompilerType.ECLIPSE;
                  break;
              case JANINO :
                  this.compiler = CompilerType.JANINO;
                  break;
              case NATIVE :
                  this.compiler = CompilerType.NATIVE;
                  break;
              default :
                  throw new RuntimeException( "value '" + compiler + "' is not a valid compiler" );
          }
      }