public void setTipDataValuesForNode(int index, double[] traitValue) {
   // Set tip data values
   // cacheHelper.copyToMeanCache(traitValue, dim*index, dim);
   cacheHelper.setTipMeans(traitValue, dim, index);
   // System.arraycopy(traitValue, 0, meanCache, dim * index, dim);
   makeDirty();
 }
  private void setTipDataValuesForNode(NodeRef node) {
    // Set tip data values
    int index = node.getNumber();
    double[] traitValue = traitParameter.getParameter(index).getParameterValues();
    if (traitValue.length < dim) {
      throw new RuntimeException(
          "The trait parameter for the tip with index, " + index + ", is too short");
    }

    cacheHelper.setTipMeans(traitValue, dim, index, node);
    //        System.arraycopy(traitValue, 0, meanCache
    ////                cacheHelper.getMeanCache()
    //                , dim * index, dim);
  }