@Override
  public void processDynamicElements(
      final @NotNull PsiType qualifierType,
      final PsiScopeProcessor processor,
      final GroovyPsiElement place,
      final ResolveState state) {
    if (!GroovyPsiManager.isInheritorCached(qualifierType, CommonClassNames.JAVA_UTIL_COLLECTION))
      return;

    final PsiType collectionType = PsiUtil.extractIterableTypeParameter(qualifierType, true);
    if (collectionType == null) return;

    final PsiScopeProcessor fieldSearcher =
        new FieldSearcher(
            processor,
            JavaPsiFacade.getInstance(place.getProject())
                .findClass(CommonClassNames.JAVA_UTIL_COLLECTION, place.getResolveScope()));
    ResolveUtil.processAllDeclarations(collectionType, fieldSearcher, state, place);
  }