question: public AbstractScanner ( String fileName , Reader reader , Properties properties , ErrorManager err ) { this . fileName = fileName ; this . properties = properties ; this . err = err ; if ( reader instanceof PushLineBackReader ) { this . reader = ( PushLineBackReader ) reader ; } else { this . reader = new PushLineBackReader ( reader ) ; } }
target:  initiate the processor with a reader