There is an NPE condition in UIData.
setValue() sets _rowStates = null
Nowhere else can _rowStates be set back to something meaningful, and
when it is referenced in places like encodeBegin(), you'll get an NPE.
Patch at the end.
-- Jon
Index: api/src/java/javax/faces/component/UIData.java
===================================================================
--- api/src/java/javax/faces/component/UIData.java (revision 233275)
+++ api/src/java/javax/faces/component/UIData.java (working copy)
@@ -664,7 +664,7 @@
{
_value = value;
_dataModelMap.clear();
- _rowStates = null;
+ _rowStates.clear();
_isValidChilds = true;
}