PsiTypePattern (final ElementPattern pattern) { return with(new PatternCondition<PsiType>("arrayOf") { @Override public boolean accepts(@NotNull final PsiType psiType, final ProcessingContext context) { return psiType instanceof PsiArrayType && pattern.accepts(((PsiArrayType)psiType).getComponentType(), context); } }); }