code: public static <T> Specification<T> or(Specification<T> lhs, Specification<? super T> rhs) {
          return new OrSpecification<T>(lhs, rhs);
      }
docs: Returns a specification expecting that at least one of the two specifications is satisfied.
  
  @param <T> the specification type
  @param lhs the left hand specification
  @param rhs the right hand specification
  @return an OrSpecification