Why do you need to store it? Why not just return columnPositions.keySet() in getColumnNames()?