@Nullable
    private Boolean getCachedExpanded(int start, int end, int index) {
      if (start == end) return null;

      FoldedGroupState range = getCachedState(start, end, index);
      if (range == null) return null;

      if (range.collapsed != null && range.collapsed.contains(start, end)) return false;
      if (range.expanded != null && range.expanded.contains(start, end)) return true;

      assert false : "Invalid LineRange" + range.expanded + ", " + range.collapsed + ", " + new LineRange(start, end);
      return null;
    }
@Nullable
    private Boolean getCachedExpanded(int start, int end, int index)