docs: private synchronized void sendTransportCandidateOffer(TransportCandidate cand) throws NotConnectedException, InterruptedException {
          if (!cand.isNull()) {
              // Offer our new candidate...
              addOfferedCandidate(cand);
              JingleContent content = parentNegotiator.getJingleContent();
              content.addJingleTransport(getJingleTransport(cand));
              Jingle jingle = new Jingle(JingleActionEnum.TRANSPORT_INFO);
              jingle.addContent(content);
  
              // We SHOULD NOT be sending packets directly.
              // This circumvents the state machinery.
              // TODO - work this into the state machinery.
              session.sendFormattedJingle(jingle);
          }
      }