code: OIndexSearchResult merge(final OIndexSearchResult searchResult) {
      final OQueryOperator operator;
      final OIndexSearchResult result;
  
      if (searchResult.lastOperator instanceof OQueryOperatorEquals) {
        result = new OIndexSearchResult(this.lastOperator, lastField, lastValue);
        result.fieldValuePairs.putAll(searchResult.fieldValuePairs);
        result.fieldValuePairs.putAll(fieldValuePairs);
        result.fieldValuePairs.put(searchResult.lastField.getItemName(0), searchResult.lastValue);
      } else {
        operator = searchResult.lastOperator;
        result = new OIndexSearchResult(operator, searchResult.lastField, searchResult.lastValue);
        result.fieldValuePairs.putAll(searchResult.fieldValuePairs);
        result.fieldValuePairs.putAll(fieldValuePairs);
        result.fieldValuePairs.put(lastField.getItemName(0), lastValue);
      }
      return result;
    }
docs: Combines two queries subset into one. This operation will be valid only if {@link #canBeMerged(OIndexSearchResult)} method will
  return <code>true</code> for the same passed in parameter.
  
  @param searchResult
  Query subset to merge.
  @return New instance that presents merged query.