code: @Override
    public void open() throws NetworkException {
  
      LOG.log(Level.FINE, "looking up {0}", this.destId);
  
      try {
        // naming lookup
        final InetSocketAddress addr = this.service.getNameClient().lookup(this.destId);
        if (addr == null) {
          final NetworkException ex = new NamingException("Cannot resolve " + this.destId);
          LOG.log(Level.WARNING, "Cannot resolve " + this.destId, ex);
          throw ex;
        }
  
        LOG.log(Level.FINE, "Resolved {0} to {1}", new Object[]{this.destId, addr});
  
        // connect to a remote address
        this.link = this.service.getTransport().open(addr, this.codec, this.listener);
        LOG.log(Level.FINE, "Transport returned a link {0}", this.link);
  
      } catch (final Exception ex) {
        LOG.log(Level.WARNING, "Could not open " + this.destId, ex);
        throw new NetworkException(ex);
      }
    }
docs: Opens the connection.