@Override
  protected @NotNull NullabilityAnnotationDataHolder getAllNullabilityAnnotationsWithNickNames() {
    return CachedValuesManager.getManager(myProject).getCachedValue(myProject, () -> {
      Map<String, Nullability> result = new HashMap<>();
      for (String qName : myDefaultAll) {
        result.put(qName, null);
      }
      for (String qName : getNotNulls()) {
        result.put(qName, Nullability.NOT_NULL);
      }
      for (String qName : getNullables()) {
        result.put(qName, Nullability.NULLABLE);
      }
      for (String qName : myDefaultUnknowns.keySet()) {
        result.put(qName, Nullability.UNKNOWN);
      }
      for (PsiClass aClass : getAllNullabilityNickNames()) {
        String qName = aClass.getQualifiedName();
        if (qName != null) {
          result.putIfAbsent(qName, Jsr305Support.getNickNamedNullability(aClass));
        }
      }
      NullabilityAnnotationDataHolder holder = new NullabilityAnnotationDataHolder() {
        @Override
        public Set<String> qualifiedNames() {
          return result.keySet();
        }

        @Override
        public @Nullable Nullability getNullability(String annotation) {
          return result.get(annotation);
        }
      };
      return Result.create(holder, PsiModificationTracker.MODIFICATION_COUNT);
    });
  }
@Override
  protected @NotNull NullabilityAnnotationDataHolder getAllNullabilityAnnotationsWithNickNames()