I am not so sure that this is really a good idea. This will prevent anybody from entering any ions that do not correspond to the ions that we "commonly" use. I would suggest that maybe a better strategy would be to have a flag -handleUnmapped which one can set to ["leave_mz", "remove", "throwError"] with a sensible default like "throwError". But the user can still choose to just  leave the mz in there or remove the offending m/z value.

What do you think?