docs: void checkReferencedRows(Session session, Table table, int[] rowColArray) {
  
          Index           mainIndex = getMainIndex();
          PersistentStore store     = session.sessionData.getRowStore(table);
          RowIterator     it        = table.rowIterator(session);
  
          while (true) {
              Row row = it.getNextRow();
  
              if (row == null) {
                  break;
              }
  
              Object[] rowData = row.getData();
  
              if (ArrayUtil.hasNull(rowData, rowColArray)) {
                  if (core.matchType == OpTypes.MATCH_SIMPLE) {
                      continue;
                  }
              } else if (mainIndex.exists(session, store, rowData,
                                          rowColArray)) {
                  continue;
              }
  
              if (ArrayUtil.hasAllNull(rowData, rowColArray)) {
                  continue;
              }
  
              String colValues = "";
  
              for (int i = 0; i < rowColArray.length; i++) {
                  Object o = rowData[rowColArray[i]];
  
                  colValues += table.getColumnTypes()[i].convertToString(o);
                  colValues += ",";
              }
  
              String[] info = new String[] {
                  getName().name, getMain().getName().name
              };
  
              throw Error.error(ErrorCode.X_23502, ErrorCode.CONSTRAINT, info);
          }
      }