for (int i = 0; i < nbParts; i++) {
Point3d branchPartEndPoint = computeBranchPartEndPoint(branchEndPoint, nbParts);
treeBranchPartStates.add(treeBranchPartStateFactory.createRandomBranchPartState(branchPartEndPoint));
}
TreeBranch3DStateFactory branch3DStateFactory = new TreeBranch3DStateFactory();
TreeBranch3DState branch3DState = branch3DStateFactory.createRandomTreeBranch3DState(translationVector);
return new TreeBranchState(BRANCH_COUNT++, age, energy, freeEnergy, treeBranchPartStates, branch3DState);
}