This looks wrong, if item is null an IllegalArgumentException should be thrown.