protected void record( final Sequencer.Context context,
                           final char[] sourceCode,
                           final Node outputNode ) throws Exception {
        if ((sourceCode == null) || (sourceCode.length == 0)) {
            LOGGER.debug("No source code was found for output node {0}", outputNode.getName());
            return;
        }

        this.context = context;
        this.sourceCode = new String(sourceCode);
        this.compilationUnit = (CompilationUnit)CompilationUnitParser.runJLS3Conversion(sourceCode, true);

        outputNode.addMixin(ClassFileSequencerLexicon.COMPILATION_UNIT);
        record(this.compilationUnit, outputNode);
    }
protected void record ( final Sequencer . Context context , final char [ ] sourceCode , final Node outputNode ) throws Exception { if ( ( sourceCode == null ) || ( sourceCode . length == 0 ) ) { LOGGER . debug ( "No source code was found for output node {0}" , outputNode . getName ( ) ) ; return ; } this . context = context ; this . sourceCode = new String ( sourceCode ) ; this . compilationUnit = ( CompilationUnit ) CompilationUnitParser . runJLS3Conversion ( sourceCode , true ) ; outputNode . addMixin ( ClassFileSequencerLexicon . COMPILATION_UNIT ) ; record ( this . compilationUnit , outputNode ) ; }
Convert the compilation unit into JCR nodes.

@param context the sequencer context
@param sourceCode the source code being recorded (can be <code>null</code> if there is no source code)
@param outputNode the {@link Node node} where the output will be saved (cannot be <code>null</code>)
@throws Exception if there is a problem