Currently, when handling an XWiki Annotation in the UI, a fake (in-memory) XWiki object is used and populated with the annotation's values.
When copying those values, to make sure no NPEs cause problems, "$!
" (quotes included) was used. This has the side effect of passing only string values to the fake object, neglecting it's properties data types.
The proposed patch simply checks if the value to set is not null before actually setting it to the fake object.
This way there is no extra conversion involved and no null value is set on the fake object.