code: private boolean isQueryOutputColumnsUpdated() {
          if (queryOutputColumns.length != outputColumns.length) {
              return false;
          }
          for (int i = 0; i < queryOutputColumns.length; i++) {
              final Column outputColumn = queryOutputColumns[i];
              final String expectedName = outputColumns[i];
              if (!expectedName.equals(outputColumn.getName())) {
                  return false;
              }
              if (tableName != null && !tableName.equals(outputColumn.getTable().getName())) {
                  return false;
              }
          }
  
          return true;
      }
docs: Checks the validity of the current (cached) output columns array.
  
  @return true if the current columns are valid