LazyParseableElement (@NotNull ILazyParseableElementType type, CharSequence text) { ASTNode node = type.createNode(text); if (node != null) return (LazyParseableElement)node; if (type == TokenType.CODE_FRAGMENT) return new CodeFragmentElement(null); if (type == TokenType.DUMMY_HOLDER) return new DummyHolderElement(text); LazyParseableElement customLazy = factory(type).createLazy(type, text); return customLazy != null ? customLazy : DefaultFactoryHolder.DEFAULT.createLazy(type, text); }