Value getValue(int index) {
      if (index < myCachedStartIndex || index >= myCachedStartIndex + myCachedValues.size()) {
        myCachedStartIndex = index;
        myCachedValues = myArray.getValues(index, Math.min(XCompositeNode.MAX_CHILDREN_TO_SHOW, myArray.length() - index));
      }
      return myCachedValues.get(index - myCachedStartIndex);
    }
Value getValue(int index)