code: @Override
    public void close() throws IOException {
      try {
        this.pool.returnObject(this.object);
      } catch (Exception exc) {
        throw new IOException(exc);
      } finally {
        this.returned = true;
      }
    }
docs: Return the borrowed object to the pool.
  @throws IOException