public void updateSubstitutionModels(Beagle beagle) {
    for (int i = 0; i < eigenCount; i++) {
      eigenBufferHelper.flipOffset(i);

      EigenDecomposition ed = substitutionModelList.get(i).getEigenDecomposition();

      beagle.setEigenDecomposition(
          eigenBufferHelper.getOffsetIndex(i),
          ed.getEigenVectors(),
          ed.getInverseEigenVectors(),
          ed.getEigenValues());
    }
  }
 public void flipMatrixBuffer(int branchIndex) {
   matrixBufferHelper.flipOffset(branchIndex);
 }