* @param match
     *        The BracketMatch instance for this match attempt.
     */
    private void findMatchBackward(int row, int col, BracketMatch match) {
      int y = row;
      int blockType = 0;
      StringBuilder sb = code.getsb(y);

      // Figure out what kind of block we're in, if any.
      ArrayList<TokenMarkerInfo> tmall = marker.getStyles(code.get(y));

      int offset;
      for (offset = 0; offset < tmall.size(); offset++) {
        TokenMarkerInfo tm = tmall.get(offset);
        if (col < tm.startPos) {
          break; // The blocks have skipped us.
        }
        if (col >= tm.startPos && col < tm.endPos) {
          blockType = tm.blockHash;
          break;
        }
      }
      if (subFindMatchBackward(match, sb, tmall, offset, caret.col, blockType, y)) {
        return;
      }

      for (y--; y >= 0; y--) {
        tmall = marker.getStyles(code.get(y));
        if (subFindMatchBackward(match, code.getsb(y), tmall, tmall.size() - 1,
            code.getsb(y).length(), blockType, y)) {
          return;
        }
      }
    }