code: function(cancel) {
          this.control.layer.events.unregister(
              "sketchcomplete", this, this.finalizeInteriorRing
          );
          this.control.layer.events.unregister(
              "sketchmodified", this, this.enforceTopology
          );
          this.layer.removeFeatures([this.polygon], {silent: true});
          this.control.layer.addFeatures([this.polygon], {silent: true});
          this.drawingHole = false;
          if (!cancel) {
              // Re-trigger "sketchcomplete" so other listeners can do their
              // business.  While this is somewhat sloppy (if a listener is 
              // registered with registerPriority - not common - between the start
              // and end of a single ring drawing - very uncommon - it will be 
              // called twice).
              // TODO: In 3.0, collapse sketch handlers into geometry specific
              // drawing controls.
              this.control.layer.events.triggerEvent(
                  "sketchcomplete", {feature : this.polygon}
              );
          }
      }
docs: Method: restoreFeature
  Move the feature from the sketch layer to the target layer.
  
  Properties:
  cancel - {Boolean} Cancel drawing.  If falsey, the "sketchcomplete" event
  will be fired.