@Override
 public void open() {
   super.open();
   HKey hKey = getHKeyFromBindings();
   input.rebind(hKey, deep);
   input.open();
 }
 @Override
 public void close() {
   try {
     // input is closed before hopefully reopening in next()
     if (!input.isClosed()) {
       input.close();
     }
   } finally {
     super.close();
   }
 }