class_docstr: A parameter that is optional in `combine()` and in the test signature.
  
  `OptionalParameter` is usually used with `TestCombination` in the
  `parameter_modifiers()`. It allows `TestCombination` to skip certain
  parameters when passing them to `combine()`, since the `TestCombination` might
  consume the param and create some context based on the value it gets.
  
  See the sample usage below:
  
  ```
  class EagerGraphCombination(TestCombination):
  
    def context_managers(self, kwargs):
      mode = kwargs.pop("mode", None)
      if mode is None:
        return []
      elif mode == "eager":
        return [context.eager_mode()]
      elif mode == "graph":
        return [ops.Graph().as_default(), context.graph_mode()]
      else:
        raise ValueError(
            "'mode' has to be either 'eager' or 'graph', got {}".format(mode))
  
    def parameter_modifiers(self):
      return [test_combinations.OptionalParameter("mode")]
  ```
  
  When the test case is generated, the param "mode" will not be passed to the
  test method, since it is consumed by the `EagerGraphCombination`.
class_docstr_tok: ["A","parameter","that","is","optional","in","`","combine","(",")","`","and","in","the","test","signature",".","`","OptionalParameter","`","is","usually","used","with","`","TestCombination","`","in","the","`","parameter_modifiers","(",")","`",".","It","allows","`","TestCombination","`","to","skip","certain","parameters","when","passing","them","to","`","combine","(",")","`",",","since","the","`","TestCombination","`","might","consume","the","param","and","create","some","context","based","on","the","value","it","gets",".","See","the","sample","usage","below",":","``","`","class","EagerGraphCombination","(","TestCombination",")",":","def","context_managers","(","self",",","kwargs",")",":","mode","=","kwargs.pop","(","``","mode","''",",","None",")","if","mode","is","None",":","return","[","]","elif","mode","==","``","eager","''",":","return","[","context.eager_mode","(",")","]","elif","mode","==","``","graph","''",":","return","[","ops.Graph","(",")",".as_default","(",")",",","context.graph_mode","(",")","]","else",":","raise","ValueError","(","``","'mode","'","has","to","be","either","'eager","'","or","'graph","'",",","got","{","}","''",".format","(","mode",")",")","def","parameter_modifiers","(","self",")",":","return","[","test_combinations.OptionalParameter","(","``","mode","''",")","]","``","`","When","the","test","case","is","generated",",","the","param","``","mode","''","will","not","be","passed","to","the","test","method",",","since","it","is","consumed","by","the","`","EagerGraphCombination","`","."]
code: def modified_arguments(self, kwargs, requested_parameters):
      if self._parameter_name in requested_parameters:
          return {}
      else:
          return {
              self._parameter_name: ParameterModifier.DO_NOT_PASS_TO_THE_TEST
          }
  
imports: from collections import OrderedDict
  import contextlib
  import re
  import types
  import unittest
  from absl.testing import parameterized
  from tensorflow.python.util import tf_inspect
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 1 for calling the OptionalParameter obj's underlying member method code with example usage: obj.modified_arguments(kwargs, requested_parameters) and returns: dict, dict