code: function _gpfArrayEnumerator (array) {
      var pos = -1;
      return {
          reset: function () {
              pos = -1;
          },
          moveNext: function (eventsHandler) {
              var result;
              ++pos;
              result = pos < array.length;
              if (!result && eventsHandler) {
                  _gpfEventsFire.call(this, _GPF_EVENT_END_OF_DATA, {}, eventsHandler);
              }
              return result;
          },
          current: function () {
              return array[pos];
          }
      };
  }
docs: Builds an enumerable interface based on an array
  
  @param {Object[]} array Base of the enumeration
  @return {Object} Object implementing the IEnumerable interface