Merge "Use IsAssignableFrom instead of IsSubclass for robustness."