if (inputProducer != null) {
inputProducer.addCallback(context, callback);
inputProducer.release(context);
} else {
getTask().setRecursionDetected();
callback.failed(context, inputRequirement, context.recursiveRequirement(inputRequirement));
}
}
if (lock.decrementAndGet() == 0) {
s_logger.debug("Additional requirements complete");
return pushResult(context, substituteWorker, inputs, resolvedOutput, resolvedOutputs, lastWorkerResult);