public function throwExceptionIfMissingOn($context, $message = null)
    {
        if ($message === null) {
            $message = 'The method [' . $this->name() . '] does not exist on ['
                . static::getClassName($context) . '].';
        }

        if (! $this->existsOn($context)) {
            $this->throwException($message);
        }

        return $this;
    }