public static function onUnlock($filePath) {
        $filePath = FileHelper::normalizePath($filePath);
        if (!static::isLocked($filePath)) {
            return resolve(true);
        }
        $deferred = new Deferred();
        if (!isset(static::$_lockedFilesQueue[$filePath])) {
            static::$_lockedFilesQueue[$filePath] = [];
        }
        static::$_lockedFilesQueue[$filePath][] = $deferred;
        return $deferred->promise();
    }