Lazily populate columnNameToIndexMap when accessing so that clients can use the value without causing setupColumns to be called first.