code: @SuppressWarnings("unchecked")
  	public <S extends io.sarl.lang.core.Space> S getOrCreateSpaceWithID(SpaceID spaceID,
  			Class<? extends SpaceSpecification<S>> spec, Object... creationParams) {
  		synchronized (getSpaceRepositoryMutex()) {
  			Space space = this.spaces.get(spaceID);
  			if (space == null) {
  				space = createSpaceInstance(spec, spaceID, true, creationParams);
  			}
  			assert space != null;
  			return (S) space;
  		}
  	}
docs: Retrieve the first space of the given identifier, or create a space if none.
  
  @param <S> - the type of the space to reply.
  @param spaceID ID of the space.
  @param spec specification of the space.
  @param creationParams creation parameters (used only when creating a space).
  @return the new space.