code: @CheckReturnValue
      public ChannelAction setPosition(Integer position)
      {
          Checks.check(position == null || position >= 0, "Position must be >= 0!");
          this.position = position;
          return this;
      }
docs: Sets the position where the new Channel should be inserted into.
  This refers to the raw position value, not the computed (relative) position.
  <p>
  By default (or by providing this method with {@code null}),
  the position will automatically be computed based on the other Channels (inserted last in its respective group).
  <p>
  Note: This does not shift the position values of existing Channels if the values collide.
  <br>As a reminder: The ordering of Channels is determined first by its Category's position, then by its raw
  position value and finally by its id (younger Channels are below older ones)
  
  @param  position
  The raw position value that should be used for the new Channel
  
  @throws IllegalArgumentException
  If the provided position value is {@code <0}
  
  @return The current ChannelAction, for chaining convenience