code: def get_polygon_rules(declarations):
      
      property_map = {'polygon-fill': 'fill', 'polygon-opacity': 'fill-opacity',
                      'polygon-gamma': 'gamma',
                      'polygon-meta-output': 'meta-output', 'polygon-meta-writer': 'meta-writer'}
  
      property_names = property_map.keys()
      
      # a place to put rules
      rules = []
      
      for (filter, values) in filtered_property_declarations(declarations, property_names):
          color = values.has_key('polygon-fill') and values['polygon-fill'].value
          opacity = values.has_key('polygon-opacity') and values['polygon-opacity'].value or None
          gamma = values.has_key('polygon-gamma') and values['polygon-gamma'].value or None
          symbolizer = color and output.PolygonSymbolizer(color, opacity, gamma)
          
          if symbolizer:
              rules.append(make_rule(filter, symbolizer))
      
      return rules
docs: Given a Map element, a Layer element, and a list of declarations,
          create a new Style element with a PolygonSymbolizer, add it to Map
          and refer to it in Layer.