The Map returned by UIComponent.getAttributes() is too restrictive with respect
to null values.
MyFaces will always throw an NPE for a null value. Granted, the following is
in the javadocs:
- Any attempt to add a null key or value must throw a NullPointerException.
However, the following is also in the same section:
- put() - If the property is writeable, call the setter method to set the corresponding value (unwrapping primitive values in their
corresponding wrapper classes). If the property is not writeable, or an attempt is made to set a property of primitive type to null, throw
Notice the comment about setting a primitive property to null. This implies that a null value for this case
is legal. The RI will only throw the NPE against a null value if there isn't an associated property.