code: function(data, indexes, atLevel) {
      var done = false;
      var startSort = function() {
        for (var i = 0; i < indexes.length; i++) {
          var access_target = data[indexes[i]].access.split(/[\]\[]+/).filter(function (f) {
            return !!f;
          });
          var isContinuos = true;
          var lastContinousIndex = i;
          for (var j = i + 1; j < indexes.length; j++) {
            var access_comparison = data[indexes[j]].access.split(/[\]\[]+/).filter(function (f) {
              return !!f;
            });
            var areEqual = access_comparison[atLevel] === access_target[atLevel];
            if (areEqual && !isContinuos) {
              // we have a problem huston.
              var copy = data[indexes[j]];
              data.splice(indexes[j], 1);
              data.splice(lastContinousIndex+1, 0, copy);
              isContinuos = true;
              lastContinousIndex = i;
              j = i;
            }
            else if (!areEqual) isContinuos = false;
            else if (areEqual)  lastContinousIndex = j;
          }
        }
        done = true;
      };
      while (!done) {
        startSort();
      }
    }
docs: Finds and try to sort elements in a continous-stable sort depending only on indexes
  Example:    A, B, C[D], E,    F,    C[G], C[I]
  is Sorted:  A, B, C[D], C[G], C[I], E,    F