private object ExtractTypeInfo(Commits commit, string moduleName, string namespaceName, string typeName)
        {
            var date = commit.Date;
            var module = commit.Modules != null ? commit.Modules.FirstOrDefault(x => x.Name == moduleName) : null;
            Namespace namespc = null;
            Type type = null;

            if (module != null)
            {
                namespc = module.Namespaces.FirstOrDefault(x => x.Name == namespaceName);

                if (namespc != null)
                {
                    type = namespc.Types.FirstOrDefault(x => x.Name == typeName);
                }
            }

            return new
            {
                Date = date,
                PowerMetrics = type != null ? type.PowerMetrics : new PowerMetrics(),
                FxCopMetrics = type != null ? type.FxCopMetrics : new FxCopMetrics(),
                StyleCopMetrics = type != null ? type.StyleCopMetrics : new StyleCopMetrics()
            };
        }
        private object ExtractModuleInfo(Commits commit, string moduleName)
        {
            var date = commit.Date;
            var module = commit.Modules != null ? commit.Modules.FirstOrDefault(x => x.Name == moduleName) : null;

            return new
                {
                    Date = date,
                    PowerMetrics = module != null ? module.PowerMetrics : new PowerMetrics(),
                    FxCopMetrics = module != null ? module.FxCopMetrics : new FxCopMetrics(),
                    StyleCopMetrics = module != null ? module.StyleCopMetrics : new StyleCopMetrics()
                };
        }