ResolvedKeySpacePath.equals/hashCode
do not correctly the handle the fact that the Object
s might be byte[]
, so Objects.equals
is reference equality, which is not desired.
In addition, the hashCode
uses the PathValue
, while equals
uses the value. Also, PathValue
does not implement equals
or hashCode
at all, so two ResolvedKeySpacePath
s can be equals
but have different hashCode
s, breaking the contract.
We should fix this up so that equals
is sensible, and both those methods follow the contract.