code: function(parser, reporter) {
          "use strict";
          var rule = this,
              prop, i, len,
              propertiesToCheck = {},
              properties,
              mapping = {
                  "margin": [
                      "margin-top",
                      "margin-bottom",
                      "margin-left",
                      "margin-right"
                  ],
                  "padding": [
                      "padding-top",
                      "padding-bottom",
                      "padding-left",
                      "padding-right"
                  ]
              };
  
          // initialize propertiesToCheck
          for (prop in mapping) {
              if (mapping.hasOwnProperty(prop)) {
                  for (i=0, len=mapping[prop].length; i < len; i++) {
                      propertiesToCheck[mapping[prop][i]] = prop;
                  }
              }
          }
  
          function startRule() {
              properties = {};
          }
  
          // event handler for end of rules
          function endRule(event) {
  
              var prop, i, len, total;
  
              // check which properties this rule has
              for (prop in mapping) {
                  if (mapping.hasOwnProperty(prop)) {
                      total=0;
  
                      for (i=0, len=mapping[prop].length; i < len; i++) {
                          total += properties[mapping[prop][i]] ? 1 : 0;
                      }
  
                      if (total === mapping[prop].length) {
                      	var d = mapping[prop].join(", ");
                          reporter.report("The properties " + d + " can be replaced by " + prop + ".",
                              event.line, event.col, rule, {0: d, 1: prop}); //ORION NLS message
                      }
                  }
              }
          }
  
          parser.addListener("startrule", startRule);
          parser.addListener("startfontface", startRule);
  
          // check for use of "font-size"
          parser.addListener("property", function(event) {
              var name = event.property.toString().toLowerCase();
  
              if (propertiesToCheck[name]) {
                  properties[name] = 1;
              }
          });
  
          parser.addListener("endrule", endRule);
          parser.addListener("endfontface", endRule);
  
      }
docs: initialization