Hi All,
Please review the fix for bug: Bug: JDK-8190281 https://bugs.openjdk.java.net/browse/JDK-8190281 JDK 10 Webrev: http://cr.openjdk.java.net/~kaddepalli/8190281/webrev00/ This bug was created while root causing JDK-8187936, and the following refactoring points have been addressed: 1. Line 927: Uninitialized variables, checking for trivial reject case multiple times. 2. Line 999: Traditional code written to find maximum size of components, which can be done without any local variables and explicit looping by replacing with streams. 3. Line 1365: Code repetition for differenct conditions, which can be ored together to reduce the repetition. 4. Line 1482: A large code block gets repeated only because of different values need to be passed in one line. This can be moved to a variable initialization, and the repeating code blocks can be reduced to one. 5. Line 1505: Variable initialization can be simplified by combining different conditions. 6. Line 1540: An explicit loop to apply a function over a collection, can be achieved in one line by a forEach construct. - This is producing some visual artifacts, so ignored. 7. Line 1747: Combine all the trivial reject cases into one condition, and also, a potential bug which increments the "nextIndex" value beyond the length of the containing elements. The increment should happen only if the trivial reject case fails. Thanks, Krishna