docs: function(feature) {
          if (this.feature === feature ||
             (this.geometryTypes && OpenLayers.Util.indexOf(this.geometryTypes,
             feature.geometry.CLASS_NAME) == -1)) {
              return;
          }
          if (this.beforeSelectFeature(feature) !== false) {
              if (this.feature) {
                  this.unselectFeature(this.feature);
              }
              this.feature = feature;
              this.layer.selectedFeatures.push(feature);
              this.layer.drawFeature(feature, 'select');
              this.modified = false;
              this.resetVertices();
              this.onModificationStart(this.feature);
          }
          // keep track of geometry modifications
          var modified = feature.modified;
          if (feature.geometry && !(modified && modified.geometry)) {
              this._originalGeometry = feature.geometry.clone();
          }
      }