if ((field == null) && (push == null) && (pull == null)) {
return mandatory ? new RequirerInstrumentation.RequiredServiceField(atomic, Decoder.UNDEFINED) : null;
}
RequirerInstrumentation instrumentation = null;
if (field != null) {
instrumentation = new RequirerInstrumentation.RequiredServiceField(atomic, field);
} else if (push != null) {
instrumentation = new RequirerInstrumentation.MessageConsumerCallback(atomic, push);
} else if (pull != null) {
instrumentation = new RequirerInstrumentation.MessageQueueField(atomic, pull);
}
if (!instrumentation.isValidInstrumentation()) {
errorHandler.report(Severity.ERROR, atomic.getName() + " : invalid class type for field or method " + instrumentation.getName());
}
return instrumentation;
}