@noctarius : What would you pass as a constructor of the ArrayList? I guess the best what you can do is to guess the no. of partitions owned by a specific node by 
```
partitionCount /  getMemberGroupsSize()
```
Is there any better way? I'm not sure if there is any influence of backups..

I reckon it might be still better to just estimate the inital capacity and create an ArrayList; Creating a slightly bigger elementData array than is needed is probably still better than overhead of creating nodes of LinkedList + all the related in-directions. Unless you start removing items from the list.

Caveat: No measurement has been done, it's based on my gut feeling only! :)