static {
    FenixFramework.getDomainModel()
        .registerDeletionListener(
            Person.class,
            new DeletionListener<Person>() {

              @Override
              public void deleting(Person person) {
                for (;
                    !person.getCgdCardsSet().isEmpty();
                    person.getCgdCardsSet().iterator().next().delete()) ;
              }
            });
  }
  private List<LabelValueBean> getClasses() {
    List<LabelValueBean> classes = new ArrayList<LabelValueBean>();
    for (Iterator<DomainClass> iter = FenixFramework.getDomainModel().getClasses();
        iter.hasNext(); ) {
      DomainClass domainClass = iter.next();
      classes.add(new LabelValueBean(domainClass.getName(), domainClass.getFullName()));
    }

    Collections.sort(
        classes,
        new Comparator<LabelValueBean>() {
          @Override
          public int compare(LabelValueBean bean1, LabelValueBean bean2) {
            return bean1.compareTo(bean2);
          }
        });

    return classes;
  }