code: public F3<P1, P2, P3, R> orElse(final Func3<? super P1, ? super P2, ? super P3, ? extends R> fallback) {
              final F3<P1, P2, P3, R> me = this;
              return new F3<P1, P2, P3, R>() {
                  @Override
                  public R apply(P1 p1, P2 p2, P3 p3) {
                      try {
                          return me.apply(p1, p2, p3);
                      } catch (RuntimeException e) {
                          return fallback.apply(p1, p2, p3);
                      }
                  }
              };
          }
docs: Returns a composed function that when applied, try to apply this function first, in case
  a {@link NotAppliedException} is captured apply to the fallback function specified. This
  method helps to implement partial function
  
  @param fallback
  the function to applied if this function doesn't apply to the parameter(s)
  @return the composed function