code: ComponentTree tree() {
          if (tree != null) {
              return tree;
          }
          // Build complete tree before assigning it.
          ComponentTree newTree = new ComponentTree(this);
          newTree.setEventPipeline(new BufferingEventPipeline(newTree));
          tree = newTree;
          fire(new Attached(component(), null), channel());
          return tree;
      }
docs: /* default