protected void checkForRepeatedSlots() {
    for (DomainClass domClass : classes.values()) {
      DomainEntity superDomClass = domClass.getSuperclass();
      if (superDomClass != null) {
        for (Slot slot : domClass.getSlotsList()) {
          if (superDomClass.findSlot(slot.getName()) != null) {
            System.err.printf(
                "WARNING: Slot named '%s' in class '%s' already exists in a superclass\n",
                slot.getName(), domClass.getName());
          }
          if (superDomClass.findRoleSlot(slot.getName()) != null) {
            System.err.printf(
                "WARNING: Slot named '%s' in class '%s' already exists in a superclass as role slot\n",
                slot.getName(), domClass.getName());
          }
        }

        for (Role role : domClass.getRoleSlotsList()) {
          if (superDomClass.findSlot(role.getName()) != null) {
            System.err.printf(
                "WARNING: Role slot named '%s' in class '%s' already exists in a superclass as a slot\n",
                role.getName(), domClass.getName());
          }

          if (superDomClass.findRoleSlot(role.getName()) != null) {
            System.err.printf(
                "WARNING: Role slot named '%s' in class '%s' already exists in a superclass as role slot\n",
                role.getName(), domClass.getName());
          }
        }
      }
    }
  }