public static function resetInstance(): void
    {
        $name = self::$instancePropertyName;
        if (is_object(self::$$name)) {
            if (self::$$name->allowToResetInstance) {
                self::$$name = null;
            } else {
                throw new \RuntimeException(
                    "Resetting of singleton instance disallowed"
                );
            }
        }
    }