question: protected Class recompile ( URL source , String className , Class oldClass ) throws CompilationFailedException , IOException { if ( source != null ) { if ( ( oldClass != null && isSourceNewer ( source , oldClass ) ) || ( oldClass == null ) ) { synchronized ( sourceCache ) { String name = source . toExternalForm ( ) ; sourceCache . remove ( name ) ; if ( isFile ( source ) ) { try { return parseClass ( new GroovyCodeSource ( new File ( source . toURI ( ) ) , config . getSourceEncoding ( ) ) ) ; } catch ( URISyntaxException e ) { } } return parseClass ( source . openStream ( ) , name ) ; } } } return oldClass ; }
target:  (Re)Compiles the given source. This method starts the compilation of a given source, if the source has changed since the class was created. For this isSourceNewer is called.