code: public R applyOrElse(P1 p1, P2 p2, F2<? super P1, ? super P2, ? extends R> fallback) {
              try {
                  return apply(p1, p2);
              } catch (RuntimeException e) {
                  return fallback.apply(p1, p2);
              }
          }
docs: Applies this partial function to the given argument when it is contained in the function domain.
  Applies fallback function where this partial function is not defined.
  
  @param p1
  the first param with type P1
  @param p2
  the second param with type P2
  @param fallback
  the function to be called when an {@link RuntimeException} caught
  @return the result of this function or the fallback function application