private boolean isCellShown(CellRangeAddress range) {
boolean isNotShown = true;
XCellRangesQuery xCellRangesQuery = (XCellRangesQuery)UnoRuntime.queryInterface(XCellRangesQuery.class, oObj);
if (xCellRangesQuery != null) {
XSheetCellRanges xRanges = xCellRangesQuery.queryVisibleCells();
CellRangeAddress[] visibleRanges = xRanges.getRangeAddresses();
for (int i=0; i<visibleRanges.length; i++) {
isNotShown &= dotIsOutsideRange(range.StartRow, range.StartColumn, visibleRanges[i]);
isNotShown &= dotIsOutsideRange(range.StartRow, range.EndColumn, visibleRanges[i]);
isNotShown &= dotIsOutsideRange(range.EndRow, range.StartColumn, visibleRanges[i]);
isNotShown &= dotIsOutsideRange(range.EndRow, range.EndColumn, visibleRanges[i]);