docs: function (oldValues) {
                  var initialArray = this.initialArray;
                  var items = [];
                  var filteredOutElements = 0;
                  var arrayLength = initialArray.length;
                  for (var i = 0; i < arrayLength; i++) {
                      var iaElt = initialArray[i];
                      var itemsElt = null;
                      if (oldValues) {
                          itemsElt = oldValues.pop(iaElt);
                      }
                      if (itemsElt == null) {
                          if (iaElt != null) {
                              itemsElt = {
                                  value : iaElt,
                                  initIndex : i,
                                  filteredIn : true,
                                  sortKey : null,
                                  pageIndex : 0
                              };
  
                              json.addListener(itemsElt, "filteredIn", this._jsonChangeCallback, true);
                          } else {
                              // log an error if iaElt is undefined
                              this.$logError(this.UNDEFINED_ARRAY_ELEMENT);
                          }
  
                      } else {
                          itemsElt.pageIndex = 0;
                      }
                      if (itemsElt) {
                          items[i] = itemsElt;
                          if (!itemsElt.filteredIn) {
                              filteredOutElements++;
                          }
                      }
                  }
                  return {
                      items : items,
                      filteredOutElements : filteredOutElements
                  };
  
              }