final protected static function getInstance()
    {
        $backtrace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS);
        $className = self::retrieveNameOfSuperclassFor(
            $backtrace[1]['class']
        );
        $constantName = $backtrace[1]['function'];
        $constantOrdinal = self::retrieveOrdinalFor($constantName);
        $constructorArguments = \func_get_args();

        return $className::getMultitonInstance(
            $constantName,
            $constantOrdinal,
            $constructorArguments
        );
    }