Inheritance: System.Reflection.PropertyInfo
        public override PropertyInfo GetDeclaredProperty(string name)
        {
            return(_propertyCache.GetOrAdd(name, n =>
            {
                var result = base.GetDeclaredProperty(name);
                var wovenAttribute = result.GetCustomAttribute <WovenPropertyAttribute>();
                if (wovenAttribute != null)
                {
                    result = new WovenPropertyInfo(result);
                }

                return result;
            }));
        }
        public override PropertyInfo GetDeclaredProperty(string name)
        {
            return _propertyCache.GetOrAdd(name, n =>
            {
                var result = base.GetDeclaredProperty(name);
                var wovenAttribute = result.GetCustomAttribute<WovenPropertyAttribute>();
                if (wovenAttribute != null)
                {
                    result = new WovenPropertyInfo(result);
                }

                return result;
            });
        }