code: public static void finishedSession(IPerson person) {
          LOGGER.trace("Invoking finishedSession for IPerson [{}]", person);
          try {
              instance().ifinishedSession(person);
          } catch (GroupsException ge) {
              LOGGER.error("Error upon session finishing for person [{}]", person, ge);
          }
      }
docs: Receives notice that the UserInstance has been unbound from the HttpSession. In response, we
  remove the corresponding group member from the cache.
  
  @param person org.apereo.portal.security.IPerson