public static boolean contains(Grid grid, Grid pattern, int startRow, int startColumn) { int maxRow = startRow + pattern.getNumberRows() - 1; int maxColumn = startColumn + pattern.getNumberColumns() - 1; for (int r = startRow, pr = 0; r <= maxRow; r++, pr++) { for (int c = startColumn, pc = 0; c <= maxColumn; c++, pc++) { if (grid.get(r, c) != pattern.get(pr, pc)) { return false; } } } return true; }