class ExecutionGraphUtils {

	public static void releaseAllSlotsSilently(List<ExecutionAndSlot[]> resources) {
		try {
			for (ExecutionAndSlot[] jobVertexResources : resources) {
				if (jobVertexResources != null) {
					for (ExecutionAndSlot execAndSlot : jobVertexResources) {
						if (execAndSlot != null) {
							try {
								releaseSlotFuture(execAndSlot.slotFuture);
							}
							catch (Throwable t) {
								ExceptionUtils.rethrowIfFatalError(t);
							}
						}
					}
				}
			}
		}
		catch (Throwable t) {
			ExceptionUtils.rethrowIfFatalError(t);
		}
	}

	private  ExecutionGraphUtils();

}