public IManager AddExtensionDependency(Type baseType, IExtensionDependency baseTypeImplementation) { lock ( Lock ) { if (!ExtensionDependencies.ContainsKey(baseType)) { baseTypeImplementation.GetType().EnsureDerivesFromNotEqual(baseType); ExtensionDependencies[baseType] = baseTypeImplementation; } return(this); } }