code: @SuppressWarnings("unchecked")
      @Override
      public void handleServerEvent(ISFSEvent event) throws SFSException {
          Zone sfsZone = (Zone) event.getParameter(SFSEventParam.ZONE);
          User sfsUser = (User) event.getParameter(SFSEventParam.USER);
          List<Room> sfsRooms = (List<Room>)event.getParameter(SFSEventParam.JOINED_ROOMS);
          Map<Room, Integer> sfsIds = (Map<Room, Integer>)event.getParameter(SFSEventParam.PLAYER_IDS_BY_ROOM);
          ClientDisconnectionReason sfsReason = (ClientDisconnectionReason)event.getParameter(SFSEventParam.DISCONNECTION_REASON);
          ApiUser apiUser = (ApiUser) sfsUser.getProperty(APIKey.USER);
          List<ApiRoom> apiRooms = CommandUtil.getApiRoomList(sfsRooms);
          apiUser.setProperty(APIKey.USER_JOINED_ROOMS, apiRooms);
          apiUser.setProperty(Constants.USER_JOINED_ROOMS, sfsRooms);
          ApiDisconnectionImpl apiDisconnection = new ApiDisconnectionImpl();
          apiDisconnection.setZone((ApiZone) sfsZone.getProperty(APIKey.ZONE));
          apiDisconnection.setUser(apiUser);
          apiDisconnection.setJoinedRooms(apiRooms);
          apiDisconnection.setPlayerIdsByRoom(convertPlayerIdsByRoom(sfsIds));
          apiDisconnection.setReason(sfsReason.toString());
          notifyHandlers(apiUser, apiDisconnection);
          notifyToRooms(sfsZone, sfsRooms, sfsUser);
          detachUserData(sfsUser);
      }
docs: /* (non-Javadoc)
  @see com.tvd12.ezyfox.sfs2x.serverhandler.UserActionEventHandler#handleServerEvent(com.smartfoxserver.v2.core.ISFSEvent)