code: function(rule, style, feature) {
          var symbolizerPrefix = feature.geometry ?
                  this.getSymbolizerPrefix(feature.geometry) :
                  OpenLayers.Style.SYMBOLIZER_PREFIXES[0];
  
          var symbolizer = rule.symbolizer[symbolizerPrefix] || rule.symbolizer;
          
          if(this.defaultsPerSymbolizer === true) {
              var defaults = this.defaultStyle;
              OpenLayers.Util.applyDefaults(symbolizer, {
                  pointRadius: defaults.pointRadius
              });
              if(symbolizer.stroke === true || symbolizer.graphic === true) {
                  OpenLayers.Util.applyDefaults(symbolizer, {
                      strokeWidth: defaults.strokeWidth,
                      strokeColor: defaults.strokeColor,
                      strokeOpacity: defaults.strokeOpacity,
                      strokeDashstyle: defaults.strokeDashstyle,
                      strokeLinecap: defaults.strokeLinecap
                  });
              }
              if(symbolizer.fill === true || symbolizer.graphic === true) {
                  OpenLayers.Util.applyDefaults(symbolizer, {
                      fillColor: defaults.fillColor,
                      fillOpacity: defaults.fillOpacity
                  });
              }
              if(symbolizer.graphic === true) {
                  OpenLayers.Util.applyDefaults(symbolizer, {
                      pointRadius: this.defaultStyle.pointRadius,
                      externalGraphic: this.defaultStyle.externalGraphic,
                      graphicName: this.defaultStyle.graphicName,
                      graphicOpacity: this.defaultStyle.graphicOpacity,
                      graphicWidth: this.defaultStyle.graphicWidth,
                      graphicHeight: this.defaultStyle.graphicHeight,
                      graphicXOffset: this.defaultStyle.graphicXOffset,
                      graphicYOffset: this.defaultStyle.graphicYOffset
                  });
              }
          }
  
          // merge the style with the current style
          return this.createLiterals(
                  OpenLayers.Util.extend(style, symbolizer), feature);
      }
docs: Method: applySymbolizer
  
  Parameters:
  rule - {<OpenLayers.Rule>}
  style - {Object}
  feature - {<OpenLayer.Feature.Vector>}
  
  Returns:
  {Object} A style with new symbolizer applied.