protected void updateModel(
      final ModelNode operation, final ModelNode compensating, final ModelNode model) {
    super.updateModel(operation, compensating, model);

    if (operation.hasDefined(MAX_BACKUP_INDEX)) {
      apply(model, compensating, MAX_BACKUP_INDEX);
      apply(operation, model, MAX_BACKUP_INDEX);
    }
    if (operation.hasDefined(ROTATE_SIZE)) {
      apply(model, compensating, ROTATE_SIZE);
      apply(operation, model, ROTATE_SIZE);
    }
  }
 protected void updateRuntime(final ModelNode operation, final Handler handler) {
   super.updateRuntime(operation, handler);
   if (operation.hasDefined(MAX_BACKUP_INDEX)) {
     SizeRotatingFileHandler.class
         .cast(handler)
         .setMaxBackupIndex(operation.get(MAX_BACKUP_INDEX).asInt());
   }
   if (operation.hasDefined(ROTATE_SIZE)) {
     SizeRotatingFileHandler.class
         .cast(handler)
         .setRotateSize(operation.get(ROTATE_SIZE).asLong(DEFAULT_ROTATE_SIZE));
   }
 }
  @Override
  protected void updateRuntime(
      OperationContext context,
      final ModelNode operation,
      final PeriodicRotatingFileHandler handler)
      throws OperationFailedException {
    super.updateRuntime(context, operation, handler);
    final ModelNode suffix = SUFFIX.resolveModelAttribute(context, operation);
    if (suffix.isDefined()) {
      handler.setSuffix(suffix.asString());
    }

    final ModelNode append = APPEND.resolveModelAttribute(context, operation);
    if (append.isDefined()) {
      handler.setAppend(append.asBoolean());
    }
  }