if solver is specified as "dense_cholesky", then this branching is automatic and private, unaccessible to the user. If I understand your comment correctly, then this is taken care of, at least for the dense_cholesky case