@Override
 public final synchronized void close() {
   if (!closed) {
     queue.add(os.toByteSource());
     closed = true;
   }
 }