Incompatibility comes from conflicting accessors : public void setSites(JiraSite site) vs public JiraSite[] getSites() The later return an array, while the former takes a single argument (and actually don't set value, but add to internal list. CasC can't introspect the data type and fail to read current value. one could imagine to introduce DescriptorImpl#setSites(Sites[]), but doing so CasC won't be able to distinguish the two set methods :'( |