this is actually the worst way to obsolete something. If people are using this class you have broken it in a way that means it will seem to work at runtime while actually not performing the behavior they expect. It will alos only throw a warning at compile time.

Better to either

 * remove it and document it. so it fails at compile time and runtime
 * make it as obsolete with error in the current version number and throw a helpful exception from the `MutateOutgoing`