@Override
 public void setDataEmitter(DataEmitter emitter) {
   if (mEmitter != null) {
     mEmitter.setDataCallback(null);
   }
   mEmitter = emitter;
   mEmitter.setDataCallback(this);
   mEmitter.setEndCallback(
       new CompletedCallback() {
         @Override
         public void onCompleted(Exception ex) {
           report(ex);
         }
       });
 }
 @Override
 public void close() {
   mEmitter.close();
 }
 @Override
 public AsyncServer getServer() {
   return mEmitter.getServer();
 }
 @Override
 public boolean isPaused() {
   return mEmitter.isPaused();
 }
 @Override
 public void resume() {
   mEmitter.resume();
 }
 @Override
 public void pause() {
   mEmitter.pause();
 }
 @Override
 public boolean isChunked() {
   return mEmitter.isChunked();
 }