public <T> T injectInto( T injectedValue, ObjectBooleanToObjectFunction<? super T, ? extends T> function) { T result = injectedValue; for (BooleanIterator iterator = this.booleanIterator(); iterator.hasNext(); ) { result = function.valueOf(injectedValue, iterator.next()); } return result; }
public <T> T injectInto( T injectedValue, ObjectBooleanToObjectFunction<? super T, ? extends T> function) { T result = injectedValue; for (int i = 0; i < this.size; i++) { result = function.valueOf(result, this.items.get(i)); } return result; }
public <T> T injectInto( T injectedValue, ObjectBooleanToObjectFunction<? super T, ? extends T> function) { T result = injectedValue; switch (this.state) { case 0: return result; case 1: result = function.valueOf(result, false); return result; case 2: result = function.valueOf(result, true); return result; case 3: result = function.valueOf(result, false); result = function.valueOf(result, true); return result; default: throw new AssertionError("Invalid state"); } }