class EuropeanVanillaOptionFunction implements OptionFunction, ImmutableBean, Serializable {

  public static EuropeanVanillaOptionFunction of(double strike, double timeToExpiry, PutCall putCall, int numberOfSteps) {
    double sign = putCall.isCall() ? 1d : -1d;
    ArgChecker.isTrue(numberOfSteps > 0, "the number of steps should be positive");
    return new EuropeanVanillaOptionFunction(strike, timeToExpiry, sign, numberOfSteps);
  }

  private  EuropeanVanillaOptionFunction(
      double strike,
      double timeToExpiry,
      double sign,
      int numberOfSteps);

}