code: public void removeMetaData(String key) throws XMPPException, SmackException, InterruptedException {
          synchronized (this.metaData) {
              List<String> oldVal = metaData.remove(key);
  
              if (oldVal != null) {
                  setStatus(presenceMode, maxChats);
              }
          }
      }
docs: Allows the removal of data from the agent's meta data, if the key represents existing data,
  the revised meta data will be rebroadcast in an agent's presence broadcast.
  
  @param key the meta data key.
  @throws XMPPException if an exception occurs.
  @throws SmackException
  @throws InterruptedException