ITypeDataSearcher Types not used properly
A bug inside TypeData.GetDerivedTypes causes the list of types to only be updated for the fist query lists and not any of the subsequent ones.
Take for example this code:
ITypeData baseType = TypeData.FromType(typeof(IResultListener));
var count1 = TypeData.GetDerivedTypes<IResultListener>().Count();
TypeDataSearcherTestImpl.AddType("UnitTestType2", baseType); // Add a custom type with this test class.
// This causes the bug
TypeData.GetDerivedTypes<ITestStep>().Count();
// count2 == count1 because the internal cache was not updated for IResultListener, only for ITestStep.
var count2 = TypeData.GetDerivedTypes<IResultListener>().Count();