in cloud-vmware-server/src/main/java/jetbrains/buildServer/clouds/vmware/connector/VMWareApiConnectorImpl.java [228:253]
protected <T extends ManagedEntity> Pair<T,Datacenter> findEntityByIdNameOld(String idName, Class<T> instanceType) throws VmwareCheckedCloudException {
final AtomicReference<VmwareCheckedCloudException> exceptionRef = new AtomicReference<>();
final Optional<Pair<T, Datacenter>> any = findAllEntitiesOld(Datacenter.class)
.stream()
.map(
dc -> {
try {
final T e = findEntityByIdNameNullableOld(idName, instanceType, dc);
return (e != null) ? Pair.create(e, dc) : null;
} catch (VmwareCheckedCloudException e) {
LOG.warnAndDebugDetails("An exception while searching", e);
exceptionRef.set(e);
return null;
}
})
.filter(Objects::nonNull)
.findAny();
if (exceptionRef.get() != null) {
throw exceptionRef.get();
}
if (!any.isPresent() ) {
throw new VmwareCheckedCloudException(String.format("Unable to find %s '%s'", instanceType.getSimpleName(), idName));
}
return any.get();
}