@Override
  public boolean canPutAt(@NotNull VirtualFile file, int line, @NotNull Project project) {
    if (!Registry.is("debugger.collection.watchpoints.enabled")) {
      return false;
    }
    return canPutAtElement(file, line, project, (element, document) -> {
      if (element instanceof PsiField) {
        boolean isFinal = ((PsiField)element).hasModifierProperty(PsiModifier.FINAL);
        boolean isPrivate = ((PsiField)element).hasModifierProperty(PsiModifier.PRIVATE);
        boolean isProtected = ((PsiField)element).hasModifierProperty(PsiModifier.PROTECTED);
        boolean hasValidModifiers = isFinal || isPrivate || isProtected;
        PsiType type = ((PsiField)element).getType();
        return hasValidModifiers && CollectionUtils.isCollectionClassOrInterface(type);
      }
      return false;
    });
  }
@Override
  public boolean canPutAt(@NotNull VirtualFile file, int line, @NotNull Project project)