/** * Tests if a cell range can be used as the source for a pattern drag-copy. * * @param cellRange * @return */ private static boolean isPatternSource(CellRange cellRange) { // don't allow empty cells if (cellRange.hasEmptyCells()) { return false; } // test for any unacceptable geos in the range ArrayList<GeoElement> list = cellRange.toGeoList(); for (GeoElement geo : list) { if (!(geo.isGeoNumeric() || geo.isGeoFunction() || geo.isGeoPoint())) { return false; } } return true; }