Ah yes, you're right.

The issue I'd had was because the class was derived from within the authorized scope, and since the scope was included in Parameter, it returned Parameter rather than the CommonParameter subclass.  Gah.