monitor.startedParse( "starting parse ..." );
monitor.startedParse( "starting parse on:\n" + subject );
    private void invokeParser( String subject ) throws IOException, ParseException    {        // using an input termination token END - need extra space to return        parserIn.write( "END ".getBytes() );        parserIn.flush();        try        {            monitor.startedParse( "starting parse ..." );            parser.parseSchema();            monitor.finishedParse( "Done parsing!" );        }        catch ( RecognitionException e )        {            String msg = "Parser failure on:\n\t" + subject ;            msg += "\nAntlr exception trace:\n" + ExceptionUtils.getFullStackTrace( e );            init();            throw new ParseException( msg, e.getColumn() );        }        catch ( TokenStreamException e2 )        {            String msg = "Parser failure on:\n\t" + subject ;            msg += "\nAntlr exception trace:\n" + ExceptionUtils.getFullStackTrace( e2 );            init();            throw new ParseException( msg, 0 );        }    }