@Override
  protected void appendDescriptor(@NotNull GlobalInspectionContextImpl context,
                                  @NotNull final InspectionToolWrapper toolWrapper,
                                  @NotNull final RefEntityContainer container,
                                  @NotNull final InspectionTreeNode parent) {
    InspectionToolPresentation presentation = context.getPresentation(toolWrapper);
    InspectionTreeModel model = context.getView().getTree().getInspectionTreeModel();
    for (OfflineProblemDescriptor descriptor : ((RefEntityContainer<OfflineProblemDescriptor>)container).getDescriptors()) {
      final OfflineDescriptorResolveResult resolveResult = myResolvedDescriptor.get(toolWrapper.getShortName())
        .computeIfAbsent(descriptor, d -> OfflineDescriptorResolveResult.resolve(d, toolWrapper, presentation));
      RefEntity resolvedEntity = resolveResult.getResolvedEntity();
      CommonProblemDescriptor resolvedDescriptor = resolveResult.getResolvedDescriptor();
      if (resolvedEntity != null && resolvedDescriptor != null) {
        presentation.getProblemElements().put(resolvedEntity, resolvedDescriptor);
        model.createProblemDescriptorNode(resolvedEntity, resolvedDescriptor, presentation, parent);
      } else {
        model.createOfflineProblemDescriptorNode(descriptor, resolveResult, presentation, parent);
      }
    }
  }
@Override
  protected void appendDescriptor(@NotNull GlobalInspectionContextImpl context,
                                  @NotNull final InspectionToolWrapper toolWrapper,
                                  @NotNull final RefEntityContainer container,
                                  @NotNull final InspectionTreeNode parent)