code: function clone(that, propName, value) {
      // immutable queries mean that we don't need to clone if no change in value.
      if (propName) {
        if (that[propName] === value) return that;
      }
      // copying QueryOptions is safe because they are are immutable;
      var copy = __extend(new EntityQuery(), that, [
        "resourceName",
        "fromEntityType",
        "wherePredicate",
        "orderByClause",
        "selectClause",
        "skipCount",
        "takeCount",
        "expandClause",
        "inlineCountEnabled",
        "noTrackingEnabled",
        "usesNameOnServer",
        "queryOptions",
        "entityManager",
        "dataService",
        "resultEntityType"
      ]);
      copy.parameters = __extend({}, that.parameters);
      if (propName) {
        copy[propName] = value;
      }
      return copy;
    }
docs: private functions