code: public function getManyWithoutReplacement($n)
      {
          if (!is_integer($n) || $n < 2) {
              throw new \InvalidArgumentException('You must take 2 or more items in this case.');
          }
  
          if ($this->range->as_integer) {
              $arr_range = range($this->range->min, $this->range->max);
              $max_takable = count($arr_range);
  
              shuffle($arr_range);
  
              if ($n > $max_takable) {
                  throw new \OutOfRangeException(
                      sprintf(
                          'Cannot take without replacement more than available items into range [%d;%d]',
                          $this->range->min,
                          $this->range->max
                      )
                  );
              } elseif ($n == $max_takable) {
                  return array_values($arr_range);
              } else {
                  return array_slice($arr_range, 0, $n);
              }
          } else {
              $arr_out = array();
  
              while (count($arr_out) < $n) {
                  $r = $this->get();
  
                  if (!in_array($r, $arr_out)) {
                      $arr_out[] = $r;
                  }
              }
  
              return $arr_out;
          }
  
      }
docs: Gets many random items without replacement.
  
  @param  integer $n Number of items to get. Must be greater than 1
  @throw \InvalidArgumentException If argument is not integer or is less than 2
  @throw \OutOfRangeException If argument is bigger than ammount of
  integers into the range (integer range context only)
  @access public
  @return array