def METHOD_NAME(op, predicates, **kwargs):
    on = {op.left: [], op.right: []}
    for predicate in predicates:
        if not isinstance(predicate, ops.Equals):
            raise TypeError("Only equality join predicates supported with pandas")
        new_left_column, left_pred_root = _compute_join_column(predicate.left, **kwargs)
        on[left_pred_root].append(new_left_column)
        new_right_column, right_pred_root = _compute_join_column(
            predicate.right, **kwargs
        )
        on[right_pred_root].append(new_right_column)
    return on[op.left], on[op.right]