/** * This method returns each item in this list until the predicate doesn't fail. * * @access public * @static * @param IArrayList\Type $xs the left operand * @param callable $predicate the predicate function to be used * @return IArrayList\Type the list */ public static function takeWhileEnd(IArrayList\Type $xs, callable $predicate) : IArrayList\Type { return IArrayList\Module::takeWhile($xs, function (Core\Type $x, IInt32\Type $i) use($predicate) : IBool\Type { return IBool\Module::not($predicate($x, $i)); }); }