For ICE-3696's test to work properly, the following classes had to be augmented to properly implement a deep version of Object.equals(Object). Resource, UpdatableProperty, Effect, CurrentStyle.
TRUNK
Subversion 17847
icefaces\component\src\com\icesoft\faces\component\outputchart\ChartResource.java
icefaces\component\src\com\icesoft\faces\utils\UpdatableProperty.java
icefaces\core\src\com\icesoft\faces\context\ByteArrayResource.java
icefaces\core\src\com\icesoft\faces\context\effects\Fade.java
icefaces\core\src\com\icesoft\faces\context\effects\Puff.java
icefaces\core\src\com\icesoft\faces\context\effects\EffectQueue.java
icefaces\core\src\com\icesoft\faces\context\effects\CurrentStyle.java
icefaces\core\src\com\icesoft\faces\context\effects\Appear.java
icefaces\core\src\com\icesoft\faces\context\effects\Squish.java
icefaces\core\src\com\icesoft\faces\context\effects\Grow.java
icefaces\core\src\com\icesoft\faces\context\effects\Focus.java
icefaces\core\src\com\icesoft\faces\context\effects\BlindDown.java
icefaces\core\src\com\icesoft\faces\context\effects\Scale.java
icefaces\core\src\com\icesoft\faces\context\effects\SlideDown.java
icefaces\core\src\com\icesoft\faces\context\effects\Shake.java
icefaces\core\src\com\icesoft\faces\context\effects\DropOut.java
icefaces\core\src\com\icesoft\faces\context\effects\SwitchOff.java
icefaces\core\src\com\icesoft\faces\context\effects\BlindUp.java
icefaces\core\src\com\icesoft\faces\context\effects\BlankEffect.java
icefaces\core\src\com\icesoft\faces\context\effects\EffectsArguments.java
icefaces\core\src\com\icesoft\faces\context\effects\SlideUp.java
icefaces\core\src\com\icesoft\faces\context\effects\Move.java
icefaces\core\src\com\icesoft\faces\context\effects\Highlight.java
icefaces\core\src\com\icesoft\faces\context\effects\Opacity.java
icefaces\core\src\com\icesoft\faces\context\effects\Pulsate.java
icefaces\core\src\com\icesoft\faces\context\effects\Fold.java
icefaces\core\src\com\icesoft\faces\context\effects\Effect.java
icefaces\core\src\com\icesoft\faces\context\effects\Shrink.java
icefaces\core\src\com\icesoft\faces\util\CoreUtils.java
state saving