String delegateExpression = taskListenerElement.attribute("delegateExpression");
if (className != null) {
taskListener = new ClassDelegate(className, parseFieldDeclarations(taskListenerElement));
} else if (expression != null) {
taskListener = new ExpressionTaskListener(expressionManager.createExpression(expression));
} else if (delegateExpression != null) {
taskListener = new DelegateExpressionTaskListener(expressionManager.createExpression(delegateExpression), parseFieldDeclarations(taskListenerElement));
} else {
addError("Element 'class', 'expression' or 'delegateExpression' is mandatory on taskListener", taskListenerElement);
}