CachedPropertyInfo's ctor is protected, add factory method instead.