public override bool VisitObject(IJsonObject value)
        {
            foreach (var kv in _value)
            {
                IJsonValue v;
                if (!value.TryGetValue(kv.Key, out v))
                {
                    return false;
                }

                var filter = new JsonFilter(kv.Value);
                if (!filter.Matches(v))
                {
                    return false;
                }
            }
            return true;
        }