methods that return lists should return unmodifiable lists; use foreach sheet iterator when sheet index is not needed