Adds the sealed modifier to a class and provides a list of its subclasses in the permits clause (for subclasses in other compilation units). If the class does not have subclasses, it will get the final modifier Any subclasses that are not marked as sealed, non-sealed or final, will get the non-sealed modifier.