this.branches = new ArrayList<TreeBranch>(branchStates.size());
for (TreeBranchState treeBranchState : branchStates) {
branches.add(new BasicTreeBranch(universe, treeBranchState));
}
this.trunk = new BasicTreeTrunk(universe, state.getTrunkState());
this.tree3D = new BasicTree3D(universe.getUniverse3D(), state.getTree3DState(), this);
this.photosynthesis = new Photosynthesis(state.getPhotosynthesis(), this);
universe.getSynchronizer().schedule(photosynthesis);
this.aging = new Aging(state.getAging(), this);
universe.getSynchronizer().schedule(aging);
this.growth = new TreeGrowth(state.getGrowth(), this);