# condition is checked before the call, unless after it

search("spring")   twice, 6 characters  -> 1 invocations
search(25 chars)   twice, condition false -> 2 invocations

condition = "#term.length() <= 8" is evaluated on the arguments before the
method runs, so a false condition skips the lookup and the write.
