code: @Override
      protected final double curve(final double v) {
          switch (easingMode.get()) {
              case EASE_IN:
                  return baseCurve(v);
              case EASE_OUT:
                  return 1 - baseCurve(1 - v);
              case EASE_BOTH:
                  if (v <= 0.5) {
                      return baseCurve(2 * v) / 2;
                  } else {
                      return (2 - baseCurve(2 * (1 - v))) / 2;
                  }
  
          }
          return baseCurve(v);
      }
docs: Curves the function depending on the easing mode.
  
  @param v The normalized value (between 0 and 1).
  @return The resulting value of the function.