@Override public void close(){
synchronized (lock) {
    if (isOpen()) {
      buf=null;
    }
  }
}

@ Override public void close ( ) { synchronized ( lock ) { if ( isOpen ( ) ) { buf = null ; } } }
this method closes this chararrayreader . once it is closed , you can no longer read from it . only the first invocation of this method has any effect .
