PsiElement (ASTNode node) { final IElementType type = node.getElementType(); if (type == PropertiesElementTypes.PROPERTY) { return new PropertyImpl(node); } else if (type == PropertiesElementTypes.PROPERTIES_LIST) { return new PropertiesListImpl(node); } throw new AssertionError("Alien element type [" + type + "]. Can't create Property PsiElement for that."); }