PartitionAt
if (!PartitionAt(i)->IsEmpty())
return const_cast<PartitionMap*>(this)->PartitionAt(index);
if (!PartitionAt(i)->CheckLocation(sessionSize))
Partition* partition = (Partition*)PartitionAt(i);
Partition* PartitionAt(int32 index);
const Partition* PartitionAt(int32 index) const;
const Partition* PartitionAt(int32 index) const;
const Partition* partition = map.PartitionAt(i);
Partition *partition = map.PartitionAt(partitionIndex - 1);