docs: def _conditional(Xnew, feat, kern, f, *, full_cov=False, full_output_cov=False, q_sqrt=None, white=False):
      """
      Most efficient routine to project L independent latent gps through a mixing matrix W.
      The mixing matrix is a member of the `SeparateMixedMok` and has shape P x L.
  
      The covariance matrices used to calculate the conditional have the following shape:
      - Kuu: L x M x M
      - Kuf: L x M x N
      - Kff: L x N or L x N x N
  
      Further reference
      -----------------
      - See `gpflow.conditionals._conditional` for a detailed explanation of
        conditional in the single-output case.
      - See the multiouput notebook for more information about the multiouput framework.
  
      """
      logger.debug("conditional: (MixedKernelSharedMof, MixedKernelSeparateMof), SeparateMixedMok")
      with params_as_tensors_for(feat, kern):
          independent_cond = conditional.dispatch(object, SeparateIndependentMof, SeparateIndependentMok, object)
          gmu, gvar = independent_cond(Xnew, feat, kern, f, full_cov=full_cov, q_sqrt=q_sqrt,
                                      full_output_cov=False, white=white)  # N x L, L x N x N or N x L
          return _mix_latent_gp(kern.W, gmu, gvar, full_cov, full_output_cov)