public IArrayBooleanFilterOperationDescriptor AllowAny()
        {
            ArrayBooleanFilterOperationDescriptor field =
                CreateBooleanOperation(FilterOperationKind.ArrayAny);

            Filters.Add(field);
            return(field);
        }
        private ArrayBooleanFilterOperationDescriptor CreateBooleanOperation(
            FilterOperationKind operationKind)
        {
            var operation = GetFilterOperation(operationKind);

            var typeReference = RewriteTypeToNullableType(
                Context.TypeInspector.GetTypeRef(typeof(bool)),
                Context.TypeInspector);

            return(ArrayBooleanFilterOperationDescriptor.New(
                       Context,
                       this,
                       CreateFieldName(operationKind),
                       typeReference,
                       operation));
        }
        private ArrayBooleanFilterOperationDescriptor CreateBooleanOperation(
            FilterOperationKind operationKind)
        {
            var operation = GetFilterOperation(operationKind);

            var typeReference = RewriteTypeToNullableType(
                new ClrTypeReference(typeof(bool),
                                     Definition.Type.Context,
                                     true,
                                     true));

            return(ArrayBooleanFilterOperationDescriptor.New(
                       Context,
                       this,
                       CreateFieldName(operationKind),
                       typeReference,
                       operation));
        }