code: public void setStatus(Presence.Mode presenceMode, int maxChats) throws XMPPException, SmackException, InterruptedException {
          setStatus(presenceMode, maxChats, null);
      }
docs: Sets the agent's current status with the workgroup. The presence mode affects
  how offers are routed to the agent. The possible presence modes with their
  meanings are as follows:<ul>
  
  <li>Presence.Mode.AVAILABLE -- (Default) the agent is available for more chats
  (equivalent to Presence.Mode.CHAT).
  <li>Presence.Mode.DO_NOT_DISTURB -- the agent is busy and should not be disturbed.
  However, special case, or extreme urgency chats may still be offered to the agent.
  <li>Presence.Mode.AWAY -- the agent is not available and should not
  have a chat routed to them (equivalent to Presence.Mode.EXTENDED_AWAY).</ul>
  
  The max chats value is the maximum number of chats the agent is willing to have
  routed to them at once. Some servers may be configured to only accept max chat
  values in a certain range; for example, between two and five. In that case, the
  maxChats value the agent sends may be adjusted by the server to a value within that
  range.
  
  @param presenceMode the presence mode of the agent.
  @param maxChats     the maximum number of chats the agent is willing to accept.
  @throws XMPPException         if an error occurs setting the agent status.
  @throws SmackException
  @throws InterruptedException
  @throws IllegalStateException if the agent is not online with the workgroup.