* Passing <code>null</code> to this method results in a header descriptor without
* any default values.
*/
public void setHeaderDescriptor(MessageHeaderDescriptor header) {
boolean changed = false;
MessageHeaderDescriptor old = headerDescriptor;
if (header == null) {
changed = headerDescriptor.hasNonNullDefaultValues();
if (changed) {
headerDescriptor = new MessageHeaderDescriptor();
}
} else {
changed = !header.equals(headerDescriptor);
if (changed) {
headerDescriptor = new MessageHeaderDescriptor(header);
}
}
if (changed) {
firePropertyChange(HEADER_DESCRIPTOR, old, header);
}