Thrown when an incompatible class change has occurred to some class definition. The definition of some class, on which the currently executing method depends, has since changed.
I looked at the line of code that had the error and went on a hunch. In my case a class used a variable in a super-class and I had changed that variable from static to instance. Therefore the class file in the patch was trying to access it as an instance variable but the old super-class still had it as a static variable. I changed the patch class to not use that variable and sent it back to SQA. Hopefully that fixes it.