private static void GetWebsites()
        {
            var referers = new Referers();
            referers.setTokenAuth("XYZ");
            var results = (ArrayList)referers.getWebsites(1, PiwikPeriod.MONTH, MagicDate.YESTERDAY);

            Console.WriteLine(results.Count + " results found");

            // Loop over referers (ie. LABEL) who led visitors to your website
            foreach (Hashtable result in results)
            {
                Console.WriteLine(
                    result[Referers.LABEL] + " " +
                    result[Referers.NB_UNIQ_VISITORS] + " " +
                    result[Referers.NB_VISITS] + " " +
                    result[Referers.NB_ACTIONS] + " " +
                    result[Referers.MAX_ACTIONS] + " " +
                    result[Referers.SUM_VISIT_LENGTH] + " " +
                    result[Referers.BOUNCE_COUNT] + " " +
                    result[Referers.NB_CONVERSIONS] + " " +
                    result[Referers.REVENUE] + " " +
                    result[Referers.IDSUBDATATABLE]
                );
            }
        }
        private static void GetWebsitesExpanded()
        {
            var referers = new Referers();
            referers.setTokenAuth("XYZ");
            var results = (ArrayList)referers.getWebsites(1, PiwikPeriod.MONTH, MagicDate.YESTERDAY, String.Empty, true);

            Console.WriteLine(results.Count + " results found");

            // Loop over referers (ie. LABEL) who led visitors to your website
            foreach (Hashtable result in results)
            {
                Console.WriteLine(
                    result[Referers.LABEL] + " " +
                    result[Referers.NB_UNIQ_VISITORS] + " " +
                    result[Referers.NB_VISITS] + " " +
                    result[Referers.NB_ACTIONS] + " " +
                    result[Referers.MAX_ACTIONS] + " " +
                    result[Referers.SUM_VISIT_LENGTH] + " " +
                    result[Referers.BOUNCE_COUNT] + " " +
                    result[Referers.NB_CONVERSIONS] + " " +
                    result[Referers.REVENUE] + " " +
                    result[Referers.IDSUBDATATABLE]
                );

                // Loop over pages of referers who led visitors to your website
                if(result.ContainsKey(Referers.SUBTABLE))
                {
                    foreach (Hashtable subtable in (ArrayList)result[Referers.SUBTABLE])
                    {
                        Console.WriteLine(
                            subtable[Referers.LABEL] + " " +
                            subtable[Referers.NB_UNIQ_VISITORS] + " " +
                            subtable[Referers.NB_VISITS] + " " +
                            subtable[Referers.NB_ACTIONS] + " " +
                            subtable[Referers.MAX_ACTIONS] + " " +
                            subtable[Referers.SUM_VISIT_LENGTH] + " " +
                            subtable[Referers.BOUNCE_COUNT] + " " +
                            subtable[Referers.NB_VISITS_CONVERTED]
                        );
                    }
                }
            }
        }
        private static void GetRefererTypeFiltered()
        {
            var referers = new Referers();
            referers.setTokenAuth("XYZ");
            var results = (ArrayList)referers.getRefererType(1, PiwikPeriod.MONTH, MagicDate.YESTERDAY, String.Empty, RefererType.SEARCH_ENGINE);

            var specificRefererTypeStats = (Hashtable) results[0];

            Console.WriteLine(
                specificRefererTypeStats[Referers.LABEL] + " " +
                specificRefererTypeStats[Referers.NB_UNIQ_VISITORS] + " " +
                specificRefererTypeStats[Referers.NB_VISITS] + " " +
                specificRefererTypeStats[Referers.NB_ACTIONS] + " " +
                specificRefererTypeStats[Referers.MAX_ACTIONS] + " " +
                specificRefererTypeStats[Referers.SUM_VISIT_LENGTH] + " " +
                specificRefererTypeStats[Referers.BOUNCE_COUNT] + " " +
                specificRefererTypeStats[Referers.NB_CONVERSIONS] + " " +
                specificRefererTypeStats[Referers.REVENUE]
            );
        }