docs: public void addEntry(RosterEntry entry) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
          // Only add the entry if it isn't already in the list.
          synchronized (entries) {
              if (!entries.contains(entry)) {
                  RosterPacket packet = new RosterPacket();
                  packet.setType(IQ.Type.set);
                  RosterPacket.Item item = RosterEntry.toRosterItem(entry);
                  item.addGroupName(getName());
                  packet.addRosterItem(item);
                  // Wait up to a certain number of seconds for a reply from the server.
                  connection().createStanzaCollectorAndSend(packet).nextResultOrThrow();
              }
          }
      }