public void getRestorableState(RestorableSupport rs, RestorableSupport.StateObject so) { String encodedColor = RestorableSupport.encodeColor(this.ambient); if (encodedColor != null) { rs.addStateValueAsString(so, "ambient", encodedColor); } encodedColor = RestorableSupport.encodeColor(this.diffuse); if (encodedColor != null) { rs.addStateValueAsString(so, "diffuse", encodedColor); } encodedColor = RestorableSupport.encodeColor(this.specular); if (encodedColor != null) { rs.addStateValueAsString(so, "specular", encodedColor); } encodedColor = RestorableSupport.encodeColor(this.emission); if (encodedColor != null) { rs.addStateValueAsString(so, "emission", encodedColor); } rs.addStateValueAsDouble(so, "shininess", this.shininess); }