in server/src/jetbrains/buildServer/sharedResources/server/runtime/TakenLocksImpl.java [135:154]
public Map<Resource, String> getUnavailableLocks(@NotNull final Map<String, Lock> locksToTake,
@NotNull final Map<Resource, TakenLock> takenLocks,
@NotNull final DistributionDataAccessor distributionDataAccessor,
@NotNull final Map<String, Resource> chainNodeResources,
@NotNull final Map<Resource, Map<BuildPromotionEx, Lock>> chainLocks,
@NotNull final BuildPromotion promotion) {
final Map<Resource, String> result = new HashMap<>();
Map<Resource, TakenLock> chainTakenLocks = purifyTakenLocks(takenLocks, chainLocks);
locksToTake.forEach((name, lock) -> {
final Resource resource = chainNodeResources.get(name);
if (resource != null) {
if (!resource.isEnabled()) {
result.put(resource, "resource is disabled");
} else {
checkAgainstResource(lock, chainTakenLocks, resource, distributionDataAccessor, promotion, result);
}
}
});
return result;
}