This PR proposes to release the underlying function if a stable function or collection has invoked its underlying supplier exhaustively so that it can be collected.
------------- Commit messages: - Clean up - Fix bug - Simplify - Revert to records - Make code more like the old one - Add removable underlying functions Changes: https://git.openjdk.org/jdk/pull/25878/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25878&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8359936 Stats: 294 lines in 14 files changed: 238 ins; 9 del; 47 mod Patch: https://git.openjdk.org/jdk/pull/25878.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/25878/head:pull/25878 PR: https://git.openjdk.org/jdk/pull/25878