code: public <T> T ftsToRawCustom(final SearchQuery query, final Func1<String, T> deserializer) {
          return Blocking.blockForSingle(async.ftsToRawCustom(query, deserializer), env.searchTimeout(), TimeUnit.MILLISECONDS);
      }
docs: Synchronously perform a {@link SearchQuery} and apply a user function to deserialize the raw JSON
  FTS response, which is represented as a {@link String}.
  
  Note that the query is executed "as is", without any processing comparable to what is done in
  {@link Bucket#query(SearchQuery)} (like enforcing a server side timeout).
  
  @param query the query to execute.
  @param deserializer a deserializer function that transforms the String representation of the response into a custom type T.
  @param <T> the type of the response, once deserialized by the user-provided function.
  @return the FTS response as a T.