code: SimpleSlot allocateSubSlot(AbstractID groupId) {
  		if (isAlive()) {
  			SimpleSlot slot = new SimpleSlot(
  				getOwner(),
  				getTaskManagerLocation(),
  				subSlots.size(),
  				getTaskManagerGateway(),
  				this,
  				groupId);
  			subSlots.add(slot);
  			return slot;
  		}
  		else {
  			return null;
  		}
  	}
docs: Creates a new sub slot if the slot is not dead, yet. This method should only be called from
  the assignment group instance to guarantee synchronization.
  
  <b>NOTE:</b> This method is not synchronized and must only be called from
  the slot's assignment group.
  
  @param groupId The ID to identify tasks which can be deployed in this sub slot.
  @return The new sub slot if the shared slot is still alive, otherwise null.