see comment below about initial capacity of `ArrayList`