code: public long getMaximumTime(IoEventType type) {
          switch (type) {
              case MESSAGE_RECEIVED :
                  if (profileMessageReceived) {
                      return messageReceivedTimerWorker.getMaximum();
                  }
                  
                  break;
                  
              case MESSAGE_SENT :
                  if (profileMessageSent) {
                      return messageSentTimerWorker.getMaximum();
                  }
                  
                  break;
                  
              case SESSION_CREATED :
                  if (profileSessionCreated) {
                      return sessionCreatedTimerWorker.getMaximum();
                  }
                  
                  break;
                  
              case SESSION_OPENED :
                  if (profileSessionOpened) {
                      return sessionOpenedTimerWorker.getMaximum();
                  }
                  
                  break;
                  
              case SESSION_IDLE :
                  if (profileSessionIdle) {
                      return sessionIdleTimerWorker.getMaximum();
                  }
                  
                  break;
                  
              case SESSION_CLOSED :
                  if (profileSessionClosed) {
                      return sessionClosedTimerWorker.getMaximum();
                  }
                  
                  break;
          }
          
          throw new IllegalArgumentException(
                  "You are not monitoring this event.  Please add this event first.");
      }
docs: The maximum time the method represented by {@link IoEventType} has executed
  
  @param type
  The {@link IoEventType} that the user wants to get the maximum time this method has
  executed
  @return
  The maximum time this method has executed represented by the {@link IoEventType}