public void PopulateFilterIndex(Type type, IDictionary <string, IList <QueryFilterCondition> > index)
        {
            if (Operator != and)
            {
                return;
            }

            if (Argument1 != null)
            {
                Argument1.PopulateFilterIndex(type, index);
            }
            else if (Child1 != null)
            {
                Child1.PopulateFilterIndex(type, index);
            }

            if (Argument2 != null)
            {
                Argument2.PopulateFilterIndex(type, index);
            }
            else if (Child2 != null)
            {
                Child2.PopulateFilterIndex(type, index);
            }
        }