code: function(pixel) {
          this.layer.removeFeatures([this.point]);
          var lonlat = this.layer.getLonLatFromViewPortPx(pixel); 
          this.point = new OpenLayers.Feature.Vector(
              new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat)
          );
          this.line.geometry.addComponent(
              this.point.geometry, this.line.geometry.components.length
          );
          this.layer.addFeatures([this.point]);
          this.callback("point", [this.point.geometry, this.getGeometry()]);
          this.callback("modify", [this.point.geometry, this.getSketch()]);
          this.drawFeature();
          delete this.redoStack;
      }
docs: Method: addPoint
  Add point to geometry.  Send the point index to override
  the behavior of LinearRing that disregards adding duplicate points.
  
  Parameters:
  pixel - {<OpenLayers.Pixel>} The pixel location for the new point.