Preconditions.checkNotNull(identifier, "Identifier is null");
Preconditions.checkNotNull(definition, "Definition is null");
Preconditions.checkNotNull(address, "Address is null");
// Search for identifier
ActionIdentifier actionIdentifier = ActionIdentifier.findByIdentifier(identifier);
// Unmarshall action definition
ActionDefinition actionDefinition;
try {
actionDefinition = actionDefinitionMarshaller.unmarshall(actionIdentifier.getActionDefinitionClass(),
definition);
} catch (ActionDefinitionMarshallerException e) {
throw new SystemIntegrityException("Fail to unmarshall definition", e);
}