public <T> T injectInto(T injectedValue, ObjectByteToObjectFunction<? super T, ? extends T> function)
{
T result = injectedValue;
ByteIterator iterator = this.byteIterator();
while (iterator.hasNext())
{
result = function.valueOf(result, iterator.next());
}
return result;
}