Solving some bugs on unset() and changing the ArrayAccess::offsetExist() behavior. ArrayAccess::offsetExist() should indicate if an offset exists and imo it would work as array_key_exists(). ArrayAccess::offsetExist() is indeed a magic method called on isset() but imo it's an inconsistency in the PHP language.
Fix some issues of lithium\util\Collection.
I don't follow why you changed the test here. Wouldn't it be better to have both?
Yeah a bug occurs when you try to unset the first element in a foreach but you're right, it's better to keep both test.
I refactored the tests to be more consistent with older tests
Just to clarify, the change here points out a BC break in first()?
Well I just found that it works like that so i decide to update the docblock but it's not a direct consequence of this PR. The BC break must have happened in a previous PR.