@Override
public double[] getTrajectory() {
if (firstCall) {
firstCall = false;
} else if (trajectory == null && this instanceof IRangeTrajectory<?>) {
IRange range = ((IRangeTrajectory<?>) this).getRange();
if (range != null) {
int nbStep = range.getStepsNumber();
if (nbStep != 0) {
trajectory = TrajectoryUtil.calculateLinearTrajectory(0, beginPosition, endPosition, nbStep, false);
// System.out.println("nbStep=" + nbStep);
// System.out.println("Trajectory=" +
// Arrays.toString(trajectory));