/** * Returns a new object indicating the states at the tips (used whether or not History is * reconstruction) */ public CharacterDistribution getStatesAtTips(Tree tree) { if (observedStates != null) return (CharacterDistribution) observedStates.getAdjustableClone(); else { ContinuousAdjustable d = new ContinuousAdjustable(tree.getTaxa(), tree.getTaxa().getNumTaxa()); d.setItemsAs(this); fillDistribution(tree, tree.getRoot(), d); return d; } }