function callRunneable($mMixed) { $aArgs = func_get_args(); $iNbParams = count($aArgs) - 1; // without the runneable itself $this->oForm->pushCurrentRdt($this); switch ($iNbParams) { case 0: $mRes = parent::callRunneable($mMixed); break; case 1: $mRes = parent::callRunneable($mMixed, $aArgs[1]); break; case 2: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2]); break; case 3: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3]); break; case 4: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4]); break; case 5: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4], $aArgs[5]); break; case 6: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4], $aArgs[5], $aArgs[6]); break; case 7: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4], $aArgs[5], $aArgs[6], $aArgs[7]); break; case 8: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4], $aArgs[5], $aArgs[6], $aArgs[7], $aArgs[8]); break; case 9: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4], $aArgs[5], $aArgs[6], $aArgs[7], $aArgs[8], $aArgs[9]); break; case 10: $mRes = parent::callRunneable($mMixed, $aArgs[1], $aArgs[2], $aArgs[3], $aArgs[4], $aArgs[5], $aArgs[6], $aArgs[7], $aArgs[8], $aArgs[9], $aArgs[10]); break; default: $this->mayday("Runneable on " . $this->getName() . " can not declare more than 10 arguments."); break; } $this->oForm->pullCurrentRdt(); return $mRes; }