public <T4> Pattern4<T1, T2, T3, T4> and(Observable<T4> other) {
        if (other == null) {
            throw new NullPointerException();
        }
        return new Pattern4<T1, T2, T3, T4>(o1, o2, o3, other);
    }
public < T4 > Pattern4 < T1 , T2 , T3 , T4 > and ( Observable < T4 > other ) { if ( other == null ) { throw new NullPointerException ( ) ; } return new Pattern4 < T1 , T2 , T3 , T4 > ( o1 , o2 , o3 , other ) ; }
Creates a pattern that matches when all three observable sequences have an available element.

@param other
Observable sequence to match with the two previous sequences.
@return Pattern object that matches when all observable sequences have an available element.