docs: private void internalRequestSlot(PendingSlotRequest pendingSlotRequest) throws ResourceManagerException {
  		final ResourceProfile resourceProfile = pendingSlotRequest.getResourceProfile();
  		TaskManagerSlot taskManagerSlot = findMatchingSlot(resourceProfile);
  
  		if (taskManagerSlot != null) {
  			allocateSlot(taskManagerSlot, pendingSlotRequest);
  		} else {
  			Optional<PendingTaskManagerSlot> pendingTaskManagerSlotOptional = findFreeMatchingPendingTaskManagerSlot(resourceProfile);
  
  			if (!pendingTaskManagerSlotOptional.isPresent()) {
  				pendingTaskManagerSlotOptional = allocateResource(resourceProfile);
  			}
  
  			pendingTaskManagerSlotOptional.ifPresent(pendingTaskManagerSlot -> assignPendingTaskManagerSlot(pendingSlotRequest, pendingTaskManagerSlot));
  		}
  	}