public Object GetConfigurationWithDefault(
            [FromBody] GetConfigurationWithDefault def,
            String appName,
            String moduleName,
            String hostName = "",
            MissingParametersAction missingParametersAction = MissingParametersAction.Throw)
        {
            var     baseDirectory        = FileSystem.Instance.GetBaseDirectory();
            JObject defaultParameters    = null;
            JObject defaultConfiguration = null;

            if (def != null)
            {
                defaultParameters    = def.DefaultParameters;
                defaultConfiguration = def.DefaultConfiguration;
            }
            ParameterManager.ReplaceResult replaceResult;

            var config = ConfigFileLocator.GetConfig(
                baseDirectory,
                appName,
                moduleName,
                hostName,
                missingParametersAction,
                defaultConfiguration,
                defaultParameters);

            return(config.Configuration);
        }
        public Object GetConfiguration(String appName, String moduleName, String hostName = "", MissingParametersAction missingParametersAction = MissingParametersAction.Throw)
        {
            var baseDirectory = FileSystem.Instance.GetBaseDirectory();
            var configuration = ConfigFileLocator.GetConfig(baseDirectory, appName, moduleName, hostName, missingParametersAction);

            return(configuration.Configuration);
        }