code: private function parseSingle(&$i, $parameter, &$results)
      {
          if ($this->prefixExists($parameter)) {
              $closure = $this->getClosure($parameter);
  
              if ($closure != null) {
                  $prefix = $this->getPrefix($parameter);
                  $closure_arguments = [];
                  $rFunction = new ReflectionFunction($closure);
                  if ($rFunction->isVariadic()) {
                      $this->parseVariadicParameter(
                          $i,
                          $results,
                          $closure,
                          $closure_arguments,
                          $prefix,
                          $parameter
                      );
                  } else {
                      $this->parseUniadicParameter(
                          $i,
                          $results,
                          $closure,
                          $closure_arguments,
                          $prefix,
                          $parameter,
                          $rFunction
                      );
                  }
  
                  $result_key = $this->getRealName($parameter);
                  $result = $results[$result_key];
  
                  if (! $result instanceof ParameterResult) {
                      if ($result == self::HALT_PARSE) {
                          $this->haltedBy = $this->getParameterClosure($parameter);
                          unset($results[$result_key]);
  
                          return false;
                      }
                  } else {
                      if ($result->shouldHalt()) {
                          $this->haltedBy = $this->getParameterClosure($parameter);
                          if ($result->isHaltOnly()) {
                              unset($results[$result_key]);
                          } else {
                              $results[$result_key] = $result->getValue();
                          }
  
                          return false;
                      }
                  }
              } else {
                  $this->respondDefault($i, $results, $parameter);
              }
          } else {
              $this->respondDefault($i, $results, $parameter);
          }
  
          return true;
      }
docs: Parse a single parameter and increment the parser.
  
  If this function returns 'false', it means that
  the parse was halted by one of the parameters.
  
  @param int    &$i
  @param string  $parameter
  @param array  &$results
  
  @return bool