the null check on item seems redundant