code: @Nullable Socket releaseConnectionNoEvents() {
      assert (Thread.holdsLock(connectionPool));
  
      int index = -1;
      for (int i = 0, size = this.connection.transmitters.size(); i < size; i++) {
        Reference<Transmitter> reference = this.connection.transmitters.get(i);
        if (reference.get() == this) {
          index = i;
          break;
        }
      }
  
      if (index == -1) throw new IllegalStateException();
  
      RealConnection released = this.connection;
      released.transmitters.remove(index);
      this.connection = null;
  
      if (released.transmitters.isEmpty()) {
        released.idleAtNanos = System.nanoTime();
        if (connectionPool.connectionBecameIdle(released)) {
          return released.socket();
        }
      }
  
      return null;
    }
docs: Remove the transmitter from the connection's list of allocations. Returns a socket that the
  caller should close.