Description
getValue() returns live mutable set references. populateFromEntries() stores them directly. External code can mutate statistics bypassing events and dirty tracking.
Solution
Copy set values on ingress, return Collections.unmodifiableSet(...) from getValue().
Files
Priority: Medium
Description
getValue()returns live mutable set references.populateFromEntries()stores them directly. External code can mutate statistics bypassing events and dirty tracking.Solution
Copy set values on ingress, return
Collections.unmodifiableSet(...)fromgetValue().Files
PlayerStatisticData.javaPriority: Medium