We should do this in the evaluate method, as it may get called more than once. You can just calculate the estimatedSize and allocate the offsetArr here.