One option for solving this problem is to change the contents of the RESTRICTIONS array depending on which search parameters the user has provided. For example, if the user specifies a value for a numeric search parameter, then I could add a new restriction to the RESTRICTIONS array and then invoke the setRestrictionExpressionStrings method with RESTRICTIONS as the argument. Unfortunately, Dan Allen once mentioned that the setRestrictionExpressionStrings method should only be invoked in the constructor of the subclass of EntityQuery where the RESTRICTIONS array is defined. Can anyone suggest an alternative solution? Is the best solution to just not extend the EntityQuery class if I need to do something like this?