The ``++readResolve()++`` method allows final tweaks to the state of an object during deserialization. Non-final classes which implement ``++readResolve()++``, should not set its visibility to ``++private++`` since it will then be unavailable to child classes. == Noncompliant Code Example [source,java] ---- public class Fruit implements Serializable { private static final long serialVersionUID = 1; private Object readResolve() throws ObjectStreamException // Noncompliant {...} //... } public class Raspberry extends Fruit implements Serializable { // No access to parent's readResolve() method //... } ---- == Compliant Solution [source,java] ---- public class Fruit implements Serializable { private static final long serialVersionUID = 1; protected Object readResolve() throws ObjectStreamException {...} //... } public class Raspberry extends Fruit implements Serializable { //... } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::message.adoc[] endif::env-github,rspecator-view[]