rulebook-core/src/main/java/com/deliveredtechnologies/rulebook/lang/RuleBuilder.java
public <S> RuleBuilder<S, U> withFactType(Class<S> factType) {
    RuleBuilder<S, U> builder = new RuleBuilder<>(_ruleClass);
    builder._factType = factType;
    builder._resultType = _resultType;
    builder._actionType = _actionType;
    return builder;
  }
public <S> RuleBuilder<S, U> withFactType(Class<S> factType) {
    RuleBuilder<S, U> builder = new RuleBuilder<>(_ruleClass);
    builder._factType = factType;
    builder._resultType = _resultType;
    builder._actionType = _actionType;
    return builder;
  }
Specifies the fact type for the Rule being built.
@param factType  the type of facts to be used in the Rule
@param <S>       the type of facts
@return          a builder using the new fact type for building a Rule