Buggy code:
public abstract class AbstractWriteAttributeHandler < T > implements OperationStepHandler { private final ParametersValidator nameValidator = new ParametersValidator ( ) ; private final ParameterValidator unresolvedValueValidator ; private final ParameterValidator resolvedValueValidator ; private final Map < String , AttributeDefinition > attributeDefinitions ; protected AbstractWriteAttributeHandler ( ) { } protected AbstractWriteAttributeHandler ( final ParameterValidator validator ) { } protected AbstractWriteAttributeHandler ( final AttributeDefinition ... definitions ) { } protected AbstractWriteAttributeHandler ( final ParameterValidator unresolvedValidator , final ParameterValidator resolvedValidator ) { } @ Override public void execute ( OperationContext context , ModelNode operation ) throws OperationFailedException { nameValidator . validate ( operation ) ; final String attributeName = operation . require ( NAME ) . asString ( ) ; final ModelNode newValue = ( operation . hasDefined ( VALUE ) ) ? operation . get ( VALUE ) : new ModelNode ( ) ; validateUnresolvedValue ( attributeName , newValue ) ; final ModelNode submodel = context . readResourceForUpdate ( EMPTY_ADDRESS ) . getModel ( ) ; final ModelNode currentValue = submodel . get ( attributeName ) . clone ( ) ; final AttributeDefinition attributeDefinition = getAttributeDefinition ( attributeName ) ; if ( attributeDefinition != null ) { final ModelNode syntheticOp = new ModelNode ( ) ; syntheticOp . get ( attributeName ) . set ( newValue ) ; attributeDefinition . validateAndSet ( syntheticOp , submodel ) ; } else { submodel . get ( attributeName ) . set ( newValue ) ; } if ( requiresRuntime ( context ) ) { context . addStep ( new OperationStepHandler ( ) { @ Override public void execute ( OperationContext context , ModelNode operation ) throws OperationFailedException { <START_BUG> ModelNode resolvedValue = ( attributeDefinition != null ) ? attributeDefinition . validateResolvedOperation ( submodel ) : newValue . resolve ( ) ; <END_BUG> validateResolvedValue ( attributeName , newValue ) ; AbstractWriteAttributeHandler . HandbackHolder < T > handback = new AbstractWriteAttributeHandler . HandbackHolder < T > ( ) ; boolean restartRequired = applyUpdateToRuntime ( context , operation , attributeName , resolvedValue , currentValue , handback ) ; if ( restartRequired ) { context . reloadRequired ( ) ; } if ( ( context . completeStep ( ) ) != ( ResultAction . KEEP ) ) { ModelNode valueToRestore = currentValue . resolve ( ) ; try { revertUpdateToRuntime ( context , operation , attributeName , valueToRestore , resolvedValue , handback . handback ) ; } catch ( Exception e ) { ControllerLogger . ROOT_LOGGER . errorRevertingOperation ( e , getClass ( ) . getSimpleName ( ) , operation . require ( OP ) . asString ( ) , PathAddress . pathAddress ( operation . require ( OP_ADDR ) ) ) ; } if ( restartRequired ) { context . revertReloadRequired ( ) ; } } } } , RUNTIME ) ; } context . completeStep ( ) ; } protected abstract boolean applyUpdateToRuntime ( OperationContext context , ModelNode operation , String attributeName , ModelNode resolvedValue , ModelNode currentValue , AbstractWriteAttributeHandler . HandbackHolder < T > handbackHolder ) throws OperationFailedException { } protected abstract void revertUpdateToRuntime ( OperationContext context , ModelNode operation , String attributeName , ModelNode valueToRestore , ModelNode valueToRevert , T handback ) throws OperationFailedException { } protected void validateUnresolvedValue ( final String attributeName , final ModelNode unresolvedValue ) throws OperationFailedException { } protected void validateResolvedValue ( final String attributeName , final ModelNode resolvedValue ) throws OperationFailedException { } protected boolean requiresRuntime ( OperationContext context ) { } protected AttributeDefinition getAttributeDefinition ( final String attributeName ) { } public static class HandbackHolder < T > { private T handback ; public void setHandback ( final T handback ) { } } }

Fix:
ModelNode resolvedValue = ( attributeDefinition != null ) ? attributeDefinition . resolveModelAttribute ( context , submodel ) : newValue . resolve ( ) ;