code: private void renderBundle(final ContextTreeConfig config, final TreeNode root,
                                final Class<?> scope, final Class<Object> bundle) {
          final BundleItemInfo info = service.getData().getInfo(bundle);
          if (isHidden(config, info, scope)) {
              return;
          }
          final List<String> markers = Lists.newArrayList();
          fillCommonMarkers(info, markers, scope);
          final TreeNode node = new TreeNode(RenderUtils.renderClassLine(bundle, markers));
          // avoid duplicate bundle content render
          if (!isDuplicateRegistration(info, scope)) {
              renderScopeContent(config, node, bundle);
          }
          // avoid showing empty bundle line if configured to hide (but show if bundle is ignored as duplicate)
          if (node.hasChildren() || !config.isHideEmptyBundles()
                  || (!config.isHideDisables() && markers.contains(IGNORED))) {
              root.child(node);
          }
      }
docs: Renders bundle if allowed.
  
  @param config tree config
  @param root   current node
  @param scope  current scope
  @param bundle bundle class