The form handlers include three properties for specifying components for preprocessing the search request and postprocessing the response:

Note that the /atg/commerce/search/catalog/QueryFormHandler component is configured to use the /atg/search/repository/FacetSearchTools component as a request preprocessor and postprocessor. This component is of class atg.commerce.search.refinement.custom.CustomCatalogFacetSearchTools, which implements all three interfaces listed above.