BackgroundResourceAggregation's awaitTermination properly uses the Duration
Implement this TODO: https://github.com/googleapis/sdk-platform-java/blob/cc5724f04722e3d60eb9b4e02ecc1bdf5dd7a7fa/gax-java/gax/src/main/java/com/google/api/gax/core/BackgroundResourceAggregation.java#L78-L88
Implement subtracting time already used up from previous resources
As much as it should have been implemented as "aggregate time" before release, this behavior has existed for 6 years which is a long time for applications to have been written and based around the current "each resource gets X time" contract.
Consider the impact on existing, production code with 100 resources in the aggregation.
Ah that's true. I was thinking that awaitTermination() is the last step and part of a fire-and-forget shutdown call at the end of each client's invocation. Would be a breaking change and should come as part of major version release