diff --git a/dist/olHelpers/SortedFeatures.d.ts b/dist/olHelpers/SortedFeatures.d.ts
index 4fa25de6f7ffc76acf159d42fad6efab91dcda03..dcd97375ada9055285cd707383c2980dd2149832 100644
--- a/dist/olHelpers/SortedFeatures.d.ts
+++ b/dist/olHelpers/SortedFeatures.d.ts
@@ -6,11 +6,6 @@ export declare class SortedFeatures {
     sortedFeatures: Feature[];
     propertyName: string;
     _propertyType: string;
-    /**
-     *
-     * @param {Array<Feature>} features array of ol features
-     * @param {string} propertyName - the property name to use for lookup
-     */
     constructor(features: Feature[], propertyName: string);
     /**
      * recursive search to find the value
diff --git a/dist/olHelpers/SortedFeatures.js b/dist/olHelpers/SortedFeatures.js
index 7fc78684445d9832c94d4f227fb37447d32e197f..7f94bee4bdd0f1990440088a5dc0722a059d2de9 100644
--- a/dist/olHelpers/SortedFeatures.js
+++ b/dist/olHelpers/SortedFeatures.js
@@ -9,11 +9,6 @@ let nm = provide_1.default('olHelpers');
  * take an array of features and sort by a given property name
  */
 class SortedFeatures {
-    /**
-     *
-     * @param {Array<Feature>} features array of ol features
-     * @param {string} propertyName - the property name to use for lookup
-     */
     constructor(features, propertyName) {
         this.sortedFeatures = features;
         this.propertyName = propertyName;
@@ -52,61 +47,62 @@ class SortedFeatures {
      * @returns {Feature|undefined} the feature matching the lookup
      */
     getFeature(propertyValue, exactMatch = false, sortedFeatures) {
-        if (typeof sortedFeatures == 'undefined') {
-            sortedFeatures = this.sortedFeatures;
-        }
-        if (sortedFeatures.length == 0) {
-            return undefined;
-        }
-        if (sortedFeatures.length == 1) {
-            if (exactMatch) {
-                if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue) {
-                    return sortedFeatures[0];
-                }
-                else {
-                    return undefined;
-                }
-            }
-            else {
-                return sortedFeatures[0];
-            }
-        }
-        let lowProp = sortedFeatures[0].getProperties()[this.propertyName];
-        let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];
-        if (exactMatch) {
-            if (lowProp == propertyValue) {
-                return sortedFeatures[0];
-            }
-            else if (propertyValue < lowProp) {
-                return undefined;
-            }
-            else if (highProp == propertyValue) {
-                return sortedFeatures[sortedFeatures.length - 1];
-            }
-            else if (propertyValue > highProp) {
-                return undefined;
-            }
-        }
-        else {
-            if (propertyValue <= lowProp) {
-                return sortedFeatures[0];
-            }
-            else if (propertyValue >= highProp) {
-                return sortedFeatures[sortedFeatures.length - 1];
-            }
-        }
-        let midIndex = Math.floor(sortedFeatures.length / 2);
-        let midFeature = sortedFeatures[midIndex];
-        let midProperty = midFeature.getProperties()[this.propertyName];
-        if (midProperty === propertyValue) {
-            return midFeature;
-        }
-        if (propertyValue < midProperty) {
-            return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));
-        }
-        else {
-            return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));
-        }
+        //     if (typeof sortedFeatures == 'undefined'){
+        //         sortedFeatures = this.sortedFeatures;
+        //     }
+        //
+        //
+        //     if (sortedFeatures.length == 0){
+        //         return undefined;
+        //     }
+        //
+        //     if (sortedFeatures.length == 1){
+        //         if (exactMatch){
+        //             if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){
+        //                 return sortedFeatures[0];
+        //             } else {
+        //                 return undefined;
+        //             }
+        //         } else {
+        //             return sortedFeatures[0];
+        //         }
+        //     }
+        //
+        //     let lowProp = sortedFeatures[0].getProperties()[this.propertyName];
+        //     let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];
+        //
+        //     if (exactMatch){
+        //         if (lowProp == propertyValue){
+        //             return sortedFeatures[0];
+        //         } else if (propertyValue < lowProp){
+        //             return undefined;
+        //         } else if (highProp == propertyValue){
+        //             return sortedFeatures[sortedFeatures.length - 1];
+        //         } else if (propertyValue >  highProp){
+        //             return undefined;
+        //         }
+        //     } else {
+        //         if (propertyValue <= lowProp){
+        //             return sortedFeatures[0];
+        //         } else if (propertyValue >= highProp){
+        //             return sortedFeatures[sortedFeatures.length - 1];
+        //         }
+        //     }
+        //
+        //     let midIndex = Math.floor(sortedFeatures.length / 2);
+        //     let midFeature = sortedFeatures[midIndex];
+        //     let midProperty = midFeature.getProperties()[this.propertyName];
+        //
+        //     if (midProperty ===  propertyValue){
+        //         return midFeature;
+        //     }
+        //
+        //     if (propertyValue < midProperty){
+        //         return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));
+        //     } else {
+        //         return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));
+        //     }
+        return null;
     }
 }
 exports.SortedFeatures = SortedFeatures;
diff --git a/dist/olHelpers/SortedFeatures.js.map b/dist/olHelpers/SortedFeatures.js.map
index 76ba57c77ba4a018ea84c0ef797b34607e86b2b4..e9cc934a3c398de284a507e9ce79213b2c3f6ec6 100644
--- a/dist/olHelpers/SortedFeatures.js.map
+++ b/dist/olHelpers/SortedFeatures.js.map
@@ -1 +1 @@
-{"version":3,"file":"SortedFeatures.js","sourceRoot":"","sources":["../../src/olHelpers/SortedFeatures.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,6CAAsC;AAEtC,IAAI,EAAE,GAAG,iBAAO,CAAC,WAAW,CAAC,CAAC;AAE9B;;GAEG;AACH,MAAa,cAAc;IAKvB;;;;OAIG;IACH,YAAY,QAAmB,EAAE,YAAoB;QACjD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,wCAAwC;QACxC,6FAA6F;QAC7F,EAAE;QACF,4BAA4B;QAC5B,sEAAsE;QACtE,+CAA+C;QAC/C,yGAAyG;QACzG,iCAAiC;QACjC,4BAA4B;QAC5B,uBAAuB;QACvB,+CAA+C;QAC/C,gBAAgB;QAChB,sDAAsD;QACtD,sEAAsE;QACtE,sEAAsE;QACtE,+CAA+C;QAC/C,+CAA+C;QAC/C,EAAE;QACF,mCAAmC;QACnC,4BAA4B;QAC5B,uBAAuB;QACvB,gDAAgD;QAChD,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,IAAI;IACR,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,aAA4B,EAAE,aAAsB,KAAK,EAAE,cAA+B;QACjG,IAAI,OAAO,cAAc,IAAI,WAAW,EAAC;YACrC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;SACxC;QAGD,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAC;YAC3B,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAC;YAC3B,IAAI,UAAU,EAAC;gBACX,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,aAAa,EAAC;oBACtE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;iBAC5B;qBAAM;oBACH,OAAO,SAAS,CAAC;iBACpB;aACJ;iBAAM;gBACH,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5B;SACJ;QAED,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5F,IAAI,UAAU,EAAC;YACX,IAAI,OAAO,IAAI,aAAa,EAAC;gBACzB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5B;iBAAM,IAAI,aAAa,GAAG,OAAO,EAAC;gBAC/B,OAAO,SAAS,CAAC;aACpB;iBAAM,IAAI,QAAQ,IAAI,aAAa,EAAC;gBACjC,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACpD;iBAAM,IAAI,aAAa,GAAI,QAAQ,EAAC;gBACjC,OAAO,SAAS,CAAC;aACpB;SACJ;aAAM;YACH,IAAI,aAAa,IAAI,OAAO,EAAC;gBACzB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5B;iBAAM,IAAI,aAAa,IAAI,QAAQ,EAAC;gBACjC,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACpD;SACJ;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,WAAW,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,WAAW,KAAM,aAAa,EAAC;YAC/B,OAAO,UAAU,CAAC;SACrB;QAED,IAAI,aAAa,GAAG,WAAW,EAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SACxF;aAAM;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrF;IACL,CAAC;CACJ;AA1GD,wCA0GC;AAED,EAAE,CAAC,cAAc,GAAG,cAAc,CAAC;AACnC,kBAAe,cAAc,CAAC","sourcesContent":["/**\r\n * Created by gavorhes on 12/23/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport Feature from 'ol/Feature';\r\nlet nm = provide('olHelpers');\r\n\r\n/**\r\n * take an array of features and sort by a given property name\r\n */\r\nexport class SortedFeatures {\r\n    sortedFeatures: Feature[];\r\n    propertyName: string;\r\n    _propertyType: string;\r\n\r\n    /**\r\n     *\r\n     * @param {Array<Feature>} features array of ol features\r\n     * @param {string} propertyName - the property name to use for lookup\r\n     */\r\n    constructor(features: Feature[], propertyName: string) {\r\n        this.sortedFeatures = features;\r\n        this.propertyName = propertyName;\r\n\r\n        // if (this.sortedFeatures.length > 0) {\r\n        //     this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName];\r\n        //\r\n        //     // let __this = this;\r\n        //     this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{\r\n        //         if (this._propertyType == 'number'){\r\n        //             let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName];\r\n        //             if (aMinusB == 0){\r\n        //                 return 0;\r\n        //             } else {\r\n        //                 return aMinusB > 0 ? 1 : -1;\r\n        //             }\r\n        //         } else if (this._propertyType == 'string'){\r\n        //             let propA = a.getProperties()[this.propertyName] || '';\r\n        //             let propB = b.getProperties()[this.propertyName] || '';\r\n        //             propA = propA.toString().trim();\r\n        //             propB = propB.toString().trim();\r\n        //\r\n        //             if (propA == propB){\r\n        //                 return 0;\r\n        //             } else {\r\n        //                 return propA > propB ? 1 : 0;\r\n        //             }\r\n        //         }\r\n        //     });\r\n        // }\r\n    }\r\n\r\n    /**\r\n     * recursive search to find the value\r\n     * @param {number|string} propertyValue - the property value to search for\r\n     * @param {boolean} [exactMatch=false] if only an exact match should be returned\r\n     * @param {Array} [sortedFeatures=this.sortedFeatures] - the candidate features\r\n     * @returns {Feature|undefined} the feature matching the lookup\r\n     */\r\n    getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {\r\n        if (typeof sortedFeatures == 'undefined'){\r\n            sortedFeatures = this.sortedFeatures;\r\n        }\r\n\r\n\r\n        if (sortedFeatures.length == 0){\r\n            return undefined;\r\n        }\r\n\r\n        if (sortedFeatures.length == 1){\r\n            if (exactMatch){\r\n                if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){\r\n                    return sortedFeatures[0];\r\n                } else {\r\n                    return undefined;\r\n                }\r\n            } else {\r\n                return sortedFeatures[0];\r\n            }\r\n        }\r\n\r\n        let lowProp = sortedFeatures[0].getProperties()[this.propertyName];\r\n        let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];\r\n\r\n        if (exactMatch){\r\n            if (lowProp == propertyValue){\r\n                return sortedFeatures[0];\r\n            } else if (propertyValue < lowProp){\r\n                return undefined;\r\n            } else if (highProp == propertyValue){\r\n                return sortedFeatures[sortedFeatures.length - 1];\r\n            } else if (propertyValue >  highProp){\r\n                return undefined;\r\n            }\r\n        } else {\r\n            if (propertyValue <= lowProp){\r\n                return sortedFeatures[0];\r\n            } else if (propertyValue >= highProp){\r\n                return sortedFeatures[sortedFeatures.length - 1];\r\n            }\r\n        }\r\n\r\n        let midIndex = Math.floor(sortedFeatures.length / 2);\r\n        let midFeature = sortedFeatures[midIndex];\r\n        let midProperty = midFeature.getProperties()[this.propertyName];\r\n\r\n        if (midProperty ===  propertyValue){\r\n            return midFeature;\r\n        }\r\n\r\n        if (propertyValue < midProperty){\r\n            return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));\r\n        } else {\r\n            return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));\r\n        }\r\n    }\r\n}\r\n\r\nnm.SortedFeatures = SortedFeatures;\r\nexport default SortedFeatures;\r\n\r\n"]}
\ No newline at end of file
+{"version":3,"file":"SortedFeatures.js","sourceRoot":"","sources":["../../src/olHelpers/SortedFeatures.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,6CAAsC;AAEtC,IAAI,EAAE,GAAG,iBAAO,CAAC,WAAW,CAAC,CAAC;AAE9B;;GAEG;AACH,MAAa,cAAc;IAKvB,YAAY,QAAmB,EAAE,YAAoB;QACjD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,wCAAwC;QACxC,6FAA6F;QAC7F,EAAE;QACF,4BAA4B;QAC5B,sEAAsE;QACtE,+CAA+C;QAC/C,yGAAyG;QACzG,iCAAiC;QACjC,4BAA4B;QAC5B,uBAAuB;QACvB,+CAA+C;QAC/C,gBAAgB;QAChB,sDAAsD;QACtD,sEAAsE;QACtE,sEAAsE;QACtE,+CAA+C;QAC/C,+CAA+C;QAC/C,EAAE;QACF,mCAAmC;QACnC,4BAA4B;QAC5B,uBAAuB;QACvB,gDAAgD;QAChD,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,IAAI;IACR,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,aAA4B,EAAE,aAAsB,KAAK,EAAE,cAA+B;QACrG,iDAAiD;QACjD,gDAAgD;QAChD,QAAQ;QACR,EAAE;QACF,EAAE;QACF,uCAAuC;QACvC,4BAA4B;QAC5B,QAAQ;QACR,EAAE;QACF,uCAAuC;QACvC,2BAA2B;QAC3B,0FAA0F;QAC1F,4CAA4C;QAC5C,uBAAuB;QACvB,oCAAoC;QACpC,gBAAgB;QAChB,mBAAmB;QACnB,wCAAwC;QACxC,YAAY;QACZ,QAAQ;QACR,EAAE;QACF,0EAA0E;QAC1E,mGAAmG;QACnG,EAAE;QACF,uBAAuB;QACvB,yCAAyC;QACzC,wCAAwC;QACxC,+CAA+C;QAC/C,gCAAgC;QAChC,iDAAiD;QACjD,gEAAgE;QAChE,iDAAiD;QACjD,gCAAgC;QAChC,YAAY;QACZ,eAAe;QACf,yCAAyC;QACzC,wCAAwC;QACxC,iDAAiD;QACjD,gEAAgE;QAChE,YAAY;QACZ,QAAQ;QACR,EAAE;QACF,4DAA4D;QAC5D,iDAAiD;QACjD,uEAAuE;QACvE,EAAE;QACF,2CAA2C;QAC3C,6BAA6B;QAC7B,QAAQ;QACR,EAAE;QACF,wCAAwC;QACxC,gGAAgG;QAChG,eAAe;QACf,6FAA6F;QAC7F,QAAQ;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAtGD,wCAsGC;AAED,EAAE,CAAC,cAAc,GAAG,cAAc,CAAC;AACnC,kBAAe,cAAc,CAAC","sourcesContent":["/**\r\n * Created by gavorhes on 12/23/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport Feature from 'ol/Feature';\r\nlet nm = provide('olHelpers');\r\n\r\n/**\r\n * take an array of features and sort by a given property name\r\n */\r\nexport class SortedFeatures {\r\n    sortedFeatures: Feature[];\r\n    propertyName: string;\r\n    _propertyType: string;\r\n\r\n    constructor(features: Feature[], propertyName: string) {\r\n        this.sortedFeatures = features;\r\n        this.propertyName = propertyName;\r\n\r\n        // if (this.sortedFeatures.length > 0) {\r\n        //     this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName];\r\n        //\r\n        //     // let __this = this;\r\n        //     this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{\r\n        //         if (this._propertyType == 'number'){\r\n        //             let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName];\r\n        //             if (aMinusB == 0){\r\n        //                 return 0;\r\n        //             } else {\r\n        //                 return aMinusB > 0 ? 1 : -1;\r\n        //             }\r\n        //         } else if (this._propertyType == 'string'){\r\n        //             let propA = a.getProperties()[this.propertyName] || '';\r\n        //             let propB = b.getProperties()[this.propertyName] || '';\r\n        //             propA = propA.toString().trim();\r\n        //             propB = propB.toString().trim();\r\n        //\r\n        //             if (propA == propB){\r\n        //                 return 0;\r\n        //             } else {\r\n        //                 return propA > propB ? 1 : 0;\r\n        //             }\r\n        //         }\r\n        //     });\r\n        // }\r\n    }\r\n\r\n    /**\r\n     * recursive search to find the value\r\n     * @param {number|string} propertyValue - the property value to search for\r\n     * @param {boolean} [exactMatch=false] if only an exact match should be returned\r\n     * @param {Array} [sortedFeatures=this.sortedFeatures] - the candidate features\r\n     * @returns {Feature|undefined} the feature matching the lookup\r\n     */\r\n    getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {\r\n    //     if (typeof sortedFeatures == 'undefined'){\r\n    //         sortedFeatures = this.sortedFeatures;\r\n    //     }\r\n    //\r\n    //\r\n    //     if (sortedFeatures.length == 0){\r\n    //         return undefined;\r\n    //     }\r\n    //\r\n    //     if (sortedFeatures.length == 1){\r\n    //         if (exactMatch){\r\n    //             if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){\r\n    //                 return sortedFeatures[0];\r\n    //             } else {\r\n    //                 return undefined;\r\n    //             }\r\n    //         } else {\r\n    //             return sortedFeatures[0];\r\n    //         }\r\n    //     }\r\n    //\r\n    //     let lowProp = sortedFeatures[0].getProperties()[this.propertyName];\r\n    //     let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];\r\n    //\r\n    //     if (exactMatch){\r\n    //         if (lowProp == propertyValue){\r\n    //             return sortedFeatures[0];\r\n    //         } else if (propertyValue < lowProp){\r\n    //             return undefined;\r\n    //         } else if (highProp == propertyValue){\r\n    //             return sortedFeatures[sortedFeatures.length - 1];\r\n    //         } else if (propertyValue >  highProp){\r\n    //             return undefined;\r\n    //         }\r\n    //     } else {\r\n    //         if (propertyValue <= lowProp){\r\n    //             return sortedFeatures[0];\r\n    //         } else if (propertyValue >= highProp){\r\n    //             return sortedFeatures[sortedFeatures.length - 1];\r\n    //         }\r\n    //     }\r\n    //\r\n    //     let midIndex = Math.floor(sortedFeatures.length / 2);\r\n    //     let midFeature = sortedFeatures[midIndex];\r\n    //     let midProperty = midFeature.getProperties()[this.propertyName];\r\n    //\r\n    //     if (midProperty ===  propertyValue){\r\n    //         return midFeature;\r\n    //     }\r\n    //\r\n    //     if (propertyValue < midProperty){\r\n    //         return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));\r\n    //     } else {\r\n    //         return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));\r\n    //     }\r\n        return null;\r\n    }\r\n}\r\n\r\nnm.SortedFeatures = SortedFeatures;\r\nexport default SortedFeatures;\r\n\r\n"]}
\ No newline at end of file
diff --git a/src/olHelpers/SortedFeatures.ts b/src/olHelpers/SortedFeatures.ts
index 3a6f56d5dfe043010ee0406ede2a7a3c6179ec21..c1f3bff6473c476ec6d04ec87488ac9161df0fde 100644
--- a/src/olHelpers/SortedFeatures.ts
+++ b/src/olHelpers/SortedFeatures.ts
@@ -13,11 +13,6 @@ export class SortedFeatures {
     propertyName: string;
     _propertyType: string;
 
-    /**
-     *
-     * @param {Array<Feature>} features array of ol features
-     * @param {string} propertyName - the property name to use for lookup
-     */
     constructor(features: Feature[], propertyName: string) {
         this.sortedFeatures = features;
         this.propertyName = propertyName;
@@ -58,61 +53,62 @@ export class SortedFeatures {
      * @returns {Feature|undefined} the feature matching the lookup
      */
     getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {
-        if (typeof sortedFeatures == 'undefined'){
-            sortedFeatures = this.sortedFeatures;
-        }
-
-
-        if (sortedFeatures.length == 0){
-            return undefined;
-        }
-
-        if (sortedFeatures.length == 1){
-            if (exactMatch){
-                if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){
-                    return sortedFeatures[0];
-                } else {
-                    return undefined;
-                }
-            } else {
-                return sortedFeatures[0];
-            }
-        }
-
-        let lowProp = sortedFeatures[0].getProperties()[this.propertyName];
-        let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];
-
-        if (exactMatch){
-            if (lowProp == propertyValue){
-                return sortedFeatures[0];
-            } else if (propertyValue < lowProp){
-                return undefined;
-            } else if (highProp == propertyValue){
-                return sortedFeatures[sortedFeatures.length - 1];
-            } else if (propertyValue >  highProp){
-                return undefined;
-            }
-        } else {
-            if (propertyValue <= lowProp){
-                return sortedFeatures[0];
-            } else if (propertyValue >= highProp){
-                return sortedFeatures[sortedFeatures.length - 1];
-            }
-        }
-
-        let midIndex = Math.floor(sortedFeatures.length / 2);
-        let midFeature = sortedFeatures[midIndex];
-        let midProperty = midFeature.getProperties()[this.propertyName];
-
-        if (midProperty ===  propertyValue){
-            return midFeature;
-        }
-
-        if (propertyValue < midProperty){
-            return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));
-        } else {
-            return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));
-        }
+    //     if (typeof sortedFeatures == 'undefined'){
+    //         sortedFeatures = this.sortedFeatures;
+    //     }
+    //
+    //
+    //     if (sortedFeatures.length == 0){
+    //         return undefined;
+    //     }
+    //
+    //     if (sortedFeatures.length == 1){
+    //         if (exactMatch){
+    //             if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){
+    //                 return sortedFeatures[0];
+    //             } else {
+    //                 return undefined;
+    //             }
+    //         } else {
+    //             return sortedFeatures[0];
+    //         }
+    //     }
+    //
+    //     let lowProp = sortedFeatures[0].getProperties()[this.propertyName];
+    //     let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];
+    //
+    //     if (exactMatch){
+    //         if (lowProp == propertyValue){
+    //             return sortedFeatures[0];
+    //         } else if (propertyValue < lowProp){
+    //             return undefined;
+    //         } else if (highProp == propertyValue){
+    //             return sortedFeatures[sortedFeatures.length - 1];
+    //         } else if (propertyValue >  highProp){
+    //             return undefined;
+    //         }
+    //     } else {
+    //         if (propertyValue <= lowProp){
+    //             return sortedFeatures[0];
+    //         } else if (propertyValue >= highProp){
+    //             return sortedFeatures[sortedFeatures.length - 1];
+    //         }
+    //     }
+    //
+    //     let midIndex = Math.floor(sortedFeatures.length / 2);
+    //     let midFeature = sortedFeatures[midIndex];
+    //     let midProperty = midFeature.getProperties()[this.propertyName];
+    //
+    //     if (midProperty ===  propertyValue){
+    //         return midFeature;
+    //     }
+    //
+    //     if (propertyValue < midProperty){
+    //         return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));
+    //     } else {
+    //         return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));
+    //     }
+        return null;
     }
 }