code: def parse_k(self,k,vals):
          
          try:
              k = int(k)
          except:
              pass
          else:
              assert k in vals,"k {0} not in vals".format(k)
              return [k]
          if k is None:
              return vals
          else:
              try:
                  k_vals = vals[k]
              except Exception as e:
                  raise Exception("error slicing vals with {0}:{1}".
                                  format(k,str(e)))
              return k_vals
docs: parse the iterable from a property or boundary condition argument
  
          Parameters
          ----------
          k : int or iterable int
              the iterable
          vals : iterable of ints
              the acceptable values that k may contain
  
          Returns
          -------
          k_vals : iterable of int
              parsed k values