@Override
 public Vec getTangentAtSimply(double t) {
   if (isLeft(t)) {
     return left.getTangentAtSimply(t);
   } else {
     return right.getTangentAtSimply(t);
   }
 }
 @Override
 public LengthBasedAppend getWithAdjustedStartPoint(Vec newStartPoint) {
   return new LengthBasedAppend(left.getWithAdjustedStartPoint(newStartPoint), right, tInterval);
 }
 @Override
 public BBox makeBBox() {
   return left.getBBox().union(right.getBBox());
 }