private boolean processActionScriptNotAllowedNsAttributes(
      @NotNull PsiElement element,
      @NotNull SinkResolveProcessor resolveProcessor,
      @Nullable JSAttributeList attributeList) {
    if (!resolveProcessor.getResultSink().isActionScript()) return false;

    String attributeNs = attributeList != null ? attributeList.getNamespace() : null;
    if (attributeNs != null) {
      if (!resolveProcessor.isProcessingFromIndices()) {
        String resolvedNs = attributeList.resolveNamespaceValue();
        if (resolvedNs == null && !resolveProcessor.getResultSink().isActionScript()) {
          resolvedNs = attributeNs; // AS3
        }
        attributeNs = resolvedNs;
      } else {
        attributeNs =
            null; // do not care about namespaces during indices built because it needs interfile
                  // resolve
      }
    }

    if (openedNses == null && attributeNs != null) {
      if (!anyNsAllowed
          && place instanceof JSReferenceExpression
          && !JSResolveUtil.isExprInTypeContext((JSReferenceExpression) place)) {
        openedNses = JSResolveUtil.calculateOpenNses(place);
      }
    }

    if (openedNses != null
        && !openedNses.containsKey(attributeNs)
        && !AS3_NAMESPACE_VALUE.equals(attributeNs)
        && !ResolveProcessor.AS3_NAMESPACE.equals(
            attributeNs) // AS3 is opened by default from compiler settings and for JavaScript
                         // symbols
    ) {
      if (attributeNs != null || defaultNsIsNotAllowed) {
        resolveProcessor.addPossibleCandidateResult(
            element, JSResolveResult.MEMBER_FROM_UNOPENED_NAMESPACE);
        return true;
      }
    }
    return false;
  }