code: def predict(self, Xnew, kern=None, pred_init=None, Y_metadata=None,
                  median=False, deg_gauss_hermite=20, likelihood=None):
          
          #mu, var = GP._raw_predict(self, Xnew)
          # now push through likelihood
          #mean, var = self.likelihood.predictive_values(mu, var)
          
          mean, var = super(WarpedGP, self).predict(Xnew, kern=kern, full_cov=False, likelihood=likelihood)
  
  
          if self.predict_in_warped_space:
              std = np.sqrt(var)
              if median:
                  wmean = self.warping_function.f_inv(mean, y=pred_init)
              else:
                  wmean = self._get_warped_mean(mean, std, pred_init=pred_init,
                                                deg_gauss_hermite=deg_gauss_hermite).T
              wvar = self._get_warped_variance(mean, std, pred_init=pred_init,
                                               deg_gauss_hermite=deg_gauss_hermite).T
          else:
              wmean = mean
              wvar = var
          return wmean, wvar
docs: Prediction results depend on:
          - The value of the self.predict_in_warped_space flag
          - The median flag passed as argument
          The likelihood keyword is never used, it is just to follow the plotting API.