code: private ArrayList<AptEventSet> initEventSets()
      {
          ArrayList<AptEventSet> eventSets = new ArrayList<AptEventSet>();
  
          if ( _intfDecl == null || _intfDecl.getNestedTypes() == null )
              return eventSets;
  
          for (TypeDeclaration innerDecl : _intfDecl.getNestedTypes())
          {
              // HACKHACK: There appear to be mirror API bugs where calling getAnnotation()
              // on certain entity types will result in an endless loop.  For now, work around
              // this by a priori filtering... but this mechanism will drop errors that appear
              // on an inapropriate type (see check below)
              if (! (innerDecl instanceof InterfaceDeclaration))
                  continue;
  
              if (innerDecl.getAnnotation(EventSet.class) != null)
              {
  
                  if (! (innerDecl instanceof InterfaceDeclaration))
                  {
                      _ap.printError( innerDecl, "eventset.illegal.usage" );
                  }
                  else
                  {
                      eventSets.add(
                          new AptEventSet(this, (InterfaceDeclaration)innerDecl, _ap));
                  }
              }
          }
          return eventSets;
      }
docs: Initializes the list of EventSets declared by this AptControlInterface