private void InnerTranslate(IAsset asset, BabelJsCompiler babelJsCompiler)
        {
            string newContent;
            var assetVirtualPath = asset.VirtualPath;
            var options = CreateCompilationOptions(_babelJsConfig);

            try
            {
                newContent = babelJsCompiler.Compile(asset.Content, assetVirtualPath, options);
            }
            catch (BabelJsCompilerException e)
            {
                throw new AssetTranslationException(
                    string.Format(CoreStrings.Translators_TranslationSyntaxError,
                        INPUT_CODE_TYPE, OUTPUT_CODE_TYPE, assetVirtualPath, e.Message));
            }
            catch (Exception e)
            {
                throw new AssetTranslationException(
                    string.Format(CoreStrings.Translators_TranslationFailed,
                        INPUT_CODE_TYPE, OUTPUT_CODE_TYPE, assetVirtualPath, e.Message));
            }

            asset.Content = newContent;
        }