boolean (@NotNull Collection<? extends DetectedFrameworkDescription> allDetectedFrameworks) { final FacetTypeId<?> underlyingId = myFacetType.getUnderlyingFacetType(); if (underlyingId == null) { return true; } final Collection<? extends Facet> facets = getExistentFacets(underlyingId); for (Facet facet : facets) { if (myDetector.isSuitableUnderlyingFacetConfiguration(facet.getConfiguration(), myConfiguration, myRelatedFiles)) { return true; } } for (DetectedFrameworkDescription framework : allDetectedFrameworks) { if (framework instanceof FacetBasedDetectedFrameworkDescription<?, ?> description) { if (underlyingId.equals(description.myFacetType.getId()) && myDetector.isSuitableUnderlyingFacetConfiguration(description.getConfiguration(), myConfiguration, myRelatedFiles)) { return true; } } } return false; }