PsiElement (ASTNode node) { IElementType type = node.getElementType(); if (type == CLEANER) { return new LombokConfigCleanerImpl(node); } else if (type == OPERATION) { return new LombokConfigOperationImpl(node); } else if (type == PROPERTY) { return new LombokConfigPropertyImpl(node); } throw new AssertionError("Unknown element type: " + type); }