# 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.