code: function(node) {
              var nodeList = this.getElementsByTagNameNS(node, this.gmlns,
                                                         "LinearRing");
              var components = [];
              if(nodeList.length > 0) {
                  // this assumes exterior ring first, inner rings after
                  var ring;
                  for(var i=0; i<nodeList.length; ++i) {
                      ring = this.parseGeometry.linestring.apply(this,
                                                          [nodeList[i], true]);
                      if(ring) {
                          components.push(ring);
                      }
                  }
              }
              return new OpenLayers.Geometry.Polygon(components);
          }
docs: Method: parseGeometry.polygon
  Given a GML node representing a polygon geometry, create an
  OpenLayers polygon geometry.
  
  Parameters:
  node - {DOMElement} A GML node.
  
  Returns:
  {<OpenLayers.Geometry.Polygon>} A polygon geometry.