public static function getInstance(AssetsInstallerInterface $installer = null)
    {
        if (empty(self::$_instance)) {
            if (empty($installer)) {
                throw new \InvalidArgumentException(
                    sprintf('Can not instantiate autoloader generator singleton object "%s"' .
                        ' without an "AssetsInstallerInterface" object argument!',
                        get_called_class())
                );
            }
            $cls = get_called_class();
            self::$_instance = new $cls($installer);
        }
        return self::$_instance;
    }
public static function getInstance(AssetsInstallerInterface $installer = null)
    {
        if (empty(self::$_instance)) {
            if (empty($installer)) {
                throw new \InvalidArgumentException(
                    sprintf('Can not instantiate autoloader generator singleton object "%s"' .
                        ' without an "AssetsInstallerInterface" object argument!',
                        get_called_class())
                );
            }
            $cls = get_called_class();
            self::$_instance = new $cls($installer);
        }
        return self::$_instance;
    }
public static function getInstance ( AssetsInstallerInterface $ installer = null ) { if ( empty ( self :: $ _instance ) ) { if ( empty ( $ installer ) ) { throw new \ InvalidArgumentException ( sprintf ( 'Can not instantiate autoloader generator singleton object "%s"' . ' without an "AssetsInstallerInterface" object argument!' , get_called_class ( ) ) ) ; } $ cls = get_called_class ( ) ; self :: $ _instance = new $ cls ( $ installer ) ; } return self :: $ _instance ; }
Get a singleton instance

@param \AssetsManager\Composer\Installer\AssetsInstallerInterface $installer
@return object
@throws \InvalidArgumentException if no argument received while it was required
Get a singleton instance