code: public void saveVCard(VCard vcard) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
          // XEP-54 § 3.2 "A user may publish or update his or her vCard by sending an IQ of type "set" with no 'to' address…"
          vcard.setTo((Jid) null);
          vcard.setType(IQ.Type.set);
          // Also make sure to generate a new stanza id (the given vcard could be a vcard result), in which case we don't
          // want to use the same stanza id again (although it wouldn't break if we did)
          vcard.setStanzaId(StanzaIdUtil.newStanzaId());
          connection().createStanzaCollectorAndSend(vcard).nextResultOrThrow();
      }
docs: Save this vCard for the user connected by 'connection'. XMPPConnection should be authenticated
  and not anonymous.
  
  @param vcard VCard.
  
  @throws XMPPErrorException thrown if there was an issue setting the VCard in the server.
  @throws NoResponseException if there was no response from the server.
  @throws NotConnectedException
  @throws InterruptedException