@SafeVarargs
  public final RuleBook<T> given(Fact<T>... facts) {
    Arrays.stream(facts).forEach(_facts::add);
    return this;
  }
@SafeVarargs
  public final RuleBook<T> given(Fact<T>... facts) {
    Arrays.stream(facts).forEach(_facts::add);
    return this;
  }
@ SafeVarargs public final RuleBook < T > given ( Fact < T > ... facts ) { Arrays . stream ( facts ) . forEach ( _facts :: add ) ; return this ; }
The given() method accepts the Facts for this RuleBook.
The facts passed in will also be applied to all rules added to this RuleBook.

@param facts Facts to be added to the RuleBook and applied to all the Rules in the RuleBook
@return the current RuleBook object
The given () method accepts the Facts for this RuleBook . The facts passed in will also be applied to all rules added to this RuleBook .