complete predicateHandler use