/// <summary>
        /// Add to the current compilation result the compilation steps required to compile the <see cref="AssetItem"/> dependencies.
        /// </summary>
        /// <param name="context">A compiler context.</param>
        /// <param name="result">The current result of the compilation</param>
        protected BuildStep AddDependenciesBuildStepsToResult(AssetCompilerContext context, AssetCompilerResult result)
        {
            // create the fake package used to compile the dependences
            var dependenciesCompilePackage = AssetsSession.CreateCompilePackageFromAsset(AssetItem);

            // compile the fake package (create the build steps)
            var assetPackageCompiler = new PackageCompiler();

            context.Package = dependenciesCompilePackage.LocalPackages.FirstOrDefault();
            var dependenciesCompileResult = assetPackageCompiler.Compile(context);

            // Create the result build steps if not existing yet
            if (result.BuildSteps == null)
            {
                result.BuildSteps = new ListBuildStep();
            }

            // Add the dependencies build steps to the current result
            result.BuildSteps.Add(dependenciesCompileResult.BuildSteps);

            // Copy log the dependencies result to the current result
            dependenciesCompileResult.CopyTo(result);

            return(dependenciesCompileResult.BuildSteps);
        }