code: private void getSuperEventSets(Class eventSet, List<Class> superEventSets)
      {
          Class[] superInterfaces = eventSet.getInterfaces();
          if (superInterfaces != null)
          {
              for (int i=0; i < superInterfaces.length; i++)
              {
                  Class superInterface = superInterfaces[i];
                  if (superInterface.isAnnotationPresent(EventSet.class))
                  {
                      superEventSets.add(superInterface);
  
                      // Continue traversing up the EventSet inheritance hierarchy
                      getSuperEventSets(superInterface, superEventSets);
                  }
              }
          }
      }
docs: Finds all of the EventSets extended by the input EventSet, and adds them to
  the provided list.
  @param eventSet
  @param superEventSets