I met with situation when I have to use the long multiply check list. I have to add some usable buttons Select All, Clear All or Revert Invert. I know that the common practice is using "Select All" and "Clear All" buttons. But in many cases user can select only 5 items and press "Invert" to inverse their selection.
My question is: should I follow to "unwritten rule" and use "Select All" or can I add "Invert" as "strange or unknown" action to select/unselect items in a list if it is really useful? Has somebody ever used this way in practice?
ADDED:
Example: I want to send a message to all contact users except someone.