the constructor of CellProperties was storing the input arrays directly, instead of storing its own local copy of the inputs. SonarQube caught this and notified me.