On Fri, 31 Mar 2023 18:07:02 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:
>> modules/javafx.graphics/src/main/java/com/sun/javafx/css/BitSet.java line >> 588: >> >>> 586: protected abstract T cast(Object obj); >>> 587: >>> 588: protected long[] getBits() { >> >> Since your patch already contains some cleanup work: can you make this >> method `final`? The way it's specified at the moment looks like it was made >> to be overridable, which is clearly not useful. > > Sure, I don't mind, the class is not public though, nor are its subclasses. I've made this method package private instead of protected. The only reason it was protected was so that `toArray` implementations in the two subclasses could access it. However, those implementations are totally unnecessary as `AbstractCollection` provides them, without bugs and likely with perfectly acceptable performance. By basing `BitSet` on `AbstractSet`, which it probably should have been from the beginning, I also inherit contract respecting equals/hashCode implementations -- the only concession I did here is to provide a fast(er?) path when both sets are `BitSet`s. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1076#discussion_r1154949274