code: public IoTClaimed claimThing(Jid registry, Collection<Tag> metaTags, boolean publicThing) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
          interactWithRegistry(registry);
  
          IoTMine iotMine = new IoTMine(metaTags, publicThing);
          iotMine.setTo(registry);
          IoTClaimed iotClaimed = connection().createStanzaCollectorAndSend(iotMine).nextResultOrThrow();
  
          // The 'jid' attribute of the <claimed/> response now represents the XMPP address of the thing we just successfully claimed.
          Jid thing = iotClaimed.getJid();
  
          IoTProvisioningManager.getInstanceFor(connection()).sendFriendshipRequest(thing.asBareJid());
  
          return iotClaimed;
      }
docs: Claim a thing by providing a collection of meta tags. If the claim was successful, then a {@link IoTClaimed}
  instance will be returned, which contains the XMPP address of the thing. Use {@link IoTClaimed#getJid()} to
  retrieve this address.
  
  @param registry the registry use to claim the thing.
  @param metaTags a collection of meta tags used to identify the thing.
  @param publicThing if this is a public thing.
  @return a {@link IoTClaimed} if successful.
  @throws NoResponseException
  @throws XMPPErrorException
  @throws NotConnectedException
  @throws InterruptedException