Using ```self.__class__``` here actually prevents super() from doing its job. If it were this simple, super() wouldn't take two arguments. See this for an demonstration that may clarify some things: https://gist.github.com/mhrivnak/5717495

If anyone ever created a subclass of ISOSearchCommand and used super() to call the parent __init__, they'd get stuck in an infinite loop.

super() takes two arguments: ```type``` and ```obj```. It works by creating an inheritance graph for ```obj.__class__```, finding where ```type``` is in that graph, and moving to the next class in the graph. Thus if ```type``` always equals ```obj.__class__```, you'll be stuck in an infinite loop.