docs: function (array, startIdx, endIdx) {
          
          if (!Arrays.isArrayLike(array))
              throw "IllegalArgumentException: array must be Array-like, and have \"length\" property.";
          
          var len = array.length;
          if (len === 0)
              return [];
          
          startIdx = Arrays._sliceIdx(startIdx, 0,   len);
          endIdx   = Arrays._sliceIdx(endIdx,   len, len);
          
          if (startIdx > endIdx)
              throw "UnsupportedOperationException: startIdx must be lesser or equal to endIdx.";
          
          var a = [];
          for (var i = startIdx; i < endIdx; i++)
              a.push(array[i]);
          return a;
      }