@Override
 protected void cancel() {
   canceled = true;
   synchronized (this) {
     if (multiObjectReader != null) {
       multiObjectReader.cancel();
     }
     if (objectReader != null) {
       objectReader.cancel();
     }
   }
 }