code: @Override
      public Search build() {
          return new Search(filter.stream().map(ConditionBuilder::build).collect(toList()),
                            query.stream().map(ConditionBuilder::build).collect(toList()),
                            sort.stream().map(SortFieldBuilder::build).collect(toList()),
                            paging == null ? null : IndexPagingState.fromByteBuffer(ByteBufferUtils.byteBuffer(paging)),
                            refresh);
      }
docs: Returns the {@link Search} represented by this builder.
  
  @return the search represented by this builder