code: def _process_in_collection_filter_directive(filter_operation_info, location, context, parameters):
      
      filtered_field_type = filter_operation_info.field_type
      filtered_field_name = filter_operation_info.field_name
  
      argument_inferred_type = GraphQLList(strip_non_null_from_type(filtered_field_type))
      argument_expression, non_existence_expression = _represent_argument(
          location, context, parameters[0], argument_inferred_type)
  
      filter_predicate = expressions.BinaryComposition(
          u'contains', argument_expression, expressions.LocalField(filtered_field_name))
      if non_existence_expression is not None:
          # The argument comes from an optional block and might not exist,
          # in which case the filter expression should evaluate to True.
          filter_predicate = expressions.BinaryComposition(
              u'||', non_existence_expression, filter_predicate)
  
      return blocks.Filter(filter_predicate)
docs: Return a Filter basic block that checks for a value's existence in a collection.
  
      Args:
          filter_operation_info: FilterOperationInfo object, containing the directive and field info
                                 of the field where the filter is to be applied.
          location: Location where this filter is used.
          context: dict, various per-compilation data (e.g. declared tags, whether the current block
                   is optional, etc.). May be mutated in-place in this function!
          parameters: list of 1 element, specifying the collection in which the value must exist;
                      if the collection is optional and missing, the check will return True
  
      Returns:
          a Filter basic block that performs the collection existence check