final double[] x = d1.getX().add(d2.getX()).getAllDerivatives();
x[0] = v.getX();
final double[] y = d1.getY().add(d2.getY()).getAllDerivatives();
y[0] = v.getY();
final double[] z = d1.getZ().add(d2.getZ()).getAllDerivatives();
<BUG>z[0] = v.getZ();
final int parameters = d1.getX().getFreeParameters();
final int order      = d1.getX().getOrder();
return new FieldVector3D<DerivativeStructure>(new DerivativeStructure(parameters, order, x),
new DerivativeStructure(parameters, order, y),
new DerivativeStructure(parameters, order, z));</BUG>
}

final double[] x = d1.getX().add(d2.getX()).getAllDerivatives();
x[0] = v.getX();
final double[] y = d1.getY().add(d2.getY()).getAllDerivatives();
y[0] = v.getY();
final double[] z = d1.getZ().add(d2.getZ()).getAllDerivatives();
z[0] = v.getZ();
return new FieldVector3D<>(d1.getX().getFactory().build(x),
d1.getX().getFactory().build(y),
d1.getX().getFactory().build(z));
}
