PsiElement (ASTNode node) { IElementType type = node.getElementType(); if (type == ENTRY) { return new IgnoreEntryImpl(node); } else if (type == ENTRY_DIRECTORY) { return new IgnoreEntryDirectoryImpl(node); } else if (type == ENTRY_FILE) { return new IgnoreEntryFileImpl(node); } else if (type == NEGATION) { return new IgnoreNegationImpl(node); } else if (type == SYNTAX) { return new IgnoreSyntaxImpl(node); } throw new AssertionError("Unknown element type: " + type); }