code: function(feature) {
          var geometry = feature.geometry;
              geometry = geometry.clone();
          if (this.internalProjection && this.externalProjection) {
              geometry.transform(this.internalProjection, 
                                 this.externalProjection);
          }
          if (geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {
              var wpt = this.buildWptNode(geometry);
              this.appendAttributesNode(wpt, feature);
              return wpt;
          } else {
              var trkNode = this.createElementNS(this.namespaces.gpx, "trk");
              this.appendAttributesNode(trkNode, feature);
              var trkSegNodes = this.buildTrkSegNode(geometry);
              trkSegNodes = OpenLayers.Util.isArray(trkSegNodes) ?
                  trkSegNodes : [trkSegNodes];
              for (var i = 0, len = trkSegNodes.length; i < len; i++) {
                  trkNode.appendChild(trkSegNodes[i]);
              }
              return trkNode;
          }
      }
docs: Method: buildFeatureNode
  Accepts an <OpenLayers.Feature.Vector>, and builds a node for it.
  
  Parameters:
  feature - {<OpenLayers.Feature.Vector>}
  
  Returns:
  {DOMElement} - The created node, either a 'wpt' or a 'trk'.