code: def split_bottom_up(lower, upper, __fval=None, **fval):
      
      if __fval is not None:
          fval.update(__fval)
  
      def do_filter(params, cls):
          params_is_invalid = any(
              k not in params or params[k] != v for k, v in six.iteritems(fval)
          )
          return cls != upper or params_is_invalid
      lower.payload_guess = [x for x in lower.payload_guess if do_filter(*x)]
docs: This call un-links an association that was made using bind_bottom_up.
      Have a look at help(bind_bottom_up)