code: @SuppressWarnings("unchecked")
      public M limit(final int limit)
      {
          Checks.check(maxLimit == 0 || limit <= maxLimit, "Limit must not exceed %d!", maxLimit);
          Checks.check(minLimit == 0 || limit >= minLimit, "Limit must be greater or equal to %d", minLimit);
  
          synchronized (this.limit)
          {
              this.limit.set(limit);
          }
          return (M) this;
      }
docs: Sets the limit that should be used in the next RestAction completion
  call.
  
  <p>The specified limit may not be below the {@link #getMinLimit() Minimum Limit} nor above
  the {@link #getMaxLimit() Maximum Limit}. Unless these limits are specifically omitted. (See documentation of methods)
  
  <p><b>This limit represents how many entities will be retrieved per request and
  <u>NOT</u> the maximum amount of entities that should be retrieved for iteration/sequencing.</b>
  <br>{@code action.limit(50).complete()}
  <br>is not the same as
  <br>{@code action.stream().limit(50).collect(collector)}
  
  
  @param  limit
  The limit to use
  
  @throws java.lang.IllegalArgumentException
  If the provided limit is out of range
  
  @return The current PaginationAction implementation instance