code: protected static void summarizeAndEnhanceModel(ModelSummary summary, Model model, boolean find_compatible_frames, Map<String, Frame> all_frames, Map<String, Set<String>> all_frames_cols) {
      if (model instanceof GLMModel) {
        summarizeGLMModel(summary, (GLMModel) model);
      } else if (model instanceof DRF.DRFModel) {
        summarizeDRFModel(summary, (DRF.DRFModel) model);
      } else if (model instanceof hex.deeplearning.DeepLearningModel) {
        summarizeDeepLearningModel(summary, (hex.deeplearning.DeepLearningModel) model);
      } else if (model instanceof hex.gbm.GBM.GBMModel) {
        summarizeGBMModel(summary, (hex.gbm.GBM.GBMModel) model);
      } else if (model instanceof hex.singlenoderf.SpeeDRFModel) {
        summarizeSpeeDRFModel(summary, (hex.singlenoderf.SpeeDRFModel) model);
      } else if (model instanceof NBModel) {
        summarizeNBModel(summary, (NBModel) model);
      } else {
        // catch-all
        summarizeModelCommonFields(summary, model);
      }
  
      if (find_compatible_frames) {
        Map<String, Frame> compatible_frames = findCompatibleFrames(model, all_frames, all_frames_cols);
        summary.compatible_frames = compatible_frames.keySet();
      }
    }
docs: Summarize subclasses of water.Model.