code: public final <T2> Pattern2<T, T2> and(Observable<T2> right) {
          return OperatorJoinPatterns.and(o, right);
      }
docs: Returns a Pattern that matches when both Observables emit an item.
  <p>
  <img width="640" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/and_then_when.png" alt="">
  
  @param right
  an Observable to match with the source Observable
  @return a Pattern object that matches when both Observables emit an item
  @throws NullPointerException
  if {@code right} is null
  @see <a href="https://github.com/ReactiveX/RxJava/wiki/Combining-Observables#wiki-and-then-and-when">RxJava Wiki: and()</a>
  @see <a href="http://msdn.microsoft.com/en-us/library/hh229153.aspx">MSDN: Observable.And</a>