code: public static <T1, T2> Pattern2<T1, T2> and(/* this */Observable<T1> left, Observable<T2> right) {
          if (left == null) {
              throw new NullPointerException("left");
          }
          if (right == null) {
              throw new NullPointerException("right");
          }
          return new Pattern2<T1, T2>(left, right);
      }
docs: Creates a pattern that matches when both observable sequences have an available element.