code: def apply_boundary_conditions(self, **kwargs):
          
          return dict([[p, self._bounds[p].apply_conditions(val)]
                       for p,val in kwargs.items() if p in self._bounds])
docs: Applies any boundary conditions to the given values (e.g., applying
          cyclic conditions, and/or reflecting values off of boundaries). This
          is done by running `apply_conditions` of each bounds in self on the
          corresponding value. See `boundaries.Bounds.apply_conditions` for
          details.
  
          Parameters
          ----------
          \**kwargs :
              The keyword args should be the name of a parameter and value to
              apply its boundary conditions to. The arguments need not include
              all of the parameters in self. Any unrecognized arguments are
              ignored.
  
          Returns
          -------
          dict
              A dictionary of the parameter names and the conditioned values.