code: @Override
      public Future finishOrThrowException() throws IOException {
          done();
          try {
              if (ioException != null) {
                  throw ioException;
              }
          } finally {
              ioException = null;
          }
          return this;
      }
docs: {@inheritDoc}