if (getModifyAttribute() == null)
throw(new IllegalStateException("Malformed DMPEvent. Missing modify attribute for a MODIFIED event."));
// Create a new modifier collection to which we'll add the persistent
// attribute modifications.
DmcTypeModifierMV newModifier = new DmcTypeModifierMV(MetaDMSAG.__modify);
Iterator<Modifier> modifiers = getModifyAttribute().getMV();
if (modifiers != null){
while(modifiers.hasNext()){
Modifier mod = modifiers.next();
DmcAttributeInfo ai = mod.getAttributeInfo();
if (ai == null)
throw(new IllegalStateException("Unknown attribute in modify: " + mod.getAttributeName()));
if (ai.dataType == DataTypeEnum.PERSISTENT)
newModifier.add(new Modifier(mod));
}
// If there are any PERSISTENT modifications, we'll returned an alterred clone
if (newModifier.getMVSize() > 0){
// There were non-persistent attributes in the modify, clone the event
// and replace the modify with alterred modify
rc = clone();
rc.remModify();
rc.getDMO().add(MetaDMSAG.__modify, newModifier);