Parsing the following code causes a NullReferenceException:
template<typename A, typename B>
struct foo {};
template<typename B>
struct foo<int, B> {};
foo<int, int> foobar;
CppModelBuilder.GetOrCreateDeclarationContainer doesn't handle ClassTemplatePartialSpecialization cursors. This causes it to return null, which later causes the exception when trying to create a declaration container for the instantiation.