smth like:

    collectFirst { case c: Class[_] if ac.isAssignableFrom c && c != ac => c } getOrElse ac