I agree to simplify it but in some cases different defaults are used when chunkSize() is 0. For example in migrateIntermediateKeysAndValues we use 

List<VOut> values = collectedValues.get(key);
int entryTransferCount = chunkSize > 0 ? chunkSize :values.size();

So in this case I am not sure what a good default is.