PropagatorBuilder shall implement Cloneable
PropagatorBuilder has a method copy(). It is cleaner (and closer to Java language) if PropagatorBuilder implements Cloneable interface. The copy() method can be Deprecated and clone can have a default implementation in AbstractPropagatorBuilder avoid multiple cast involved by the clone method.
Default implementation:
public AbstractPropagatorBuilder clone() {
try {
return (AbstractPropagatorBuilder) super.clone();
catch (CloneNotSupportedException e) {
throw new OrekitException(OrekitMessage.PROPAGATOR_BUILDER_NOT_CLONEABLE);
}
}