protected List parseModernStream( BufferedReader input )
protected static List parseModernStream( BufferedReader input )
    protected List parseModernStream( BufferedReader input )        throws IOException    {        List errors = new ArrayList();        String line;        StringBuffer buffer;        while ( true )        {            // cleanup the buffer            buffer = new StringBuffer(); // this is quicker than clearing it            // most errors terminate with the '^' char            do            {                line = input.readLine();                if ( line == null )                {                    return errors;                }                // TODO: there should be a better way to parse these                if ( buffer.length() == 0 && line.startsWith( "error: " ) )                {                    errors.add( new CompilerError( line, true ) );                }                else if ( buffer.length() == 0 && line.startsWith( "Note: " ) )                {                    // skip this one - it is JDK 1.5 telling us that the interface is deprecated.                }                else                {                    buffer.append( line );                    buffer.append( EOL );                }            }            while ( !line.endsWith( "^" ) );            // add the error bean            errors.add( parseModernError( buffer.toString() ) );        }    }