public void performInitializeActions(Component component) {
      if (!hasAutoComponentAnnotatedFields) {
        return;
      }

      final IMarkupFragment markup = ((MarkupContainer) component).getMarkup(null);

      if (markup == null) {
        return;
      }

      String key = markup.toString(false);
      Node node = cache.get(key);
      if (node == null) {
        if (log.isTraceEnabled()) {
          log.trace("MARKUP MISS");
        }
        synchronized (AutoWire.class) {
          node = cache.get(key);
          if (node == null) {
            node = getNode(component, markup);
            cache.put(key, node);
          }
        }
      }

      node.lastUsed = System.currentTimeMillis();
      node.initialize(component);

      cleanup();
    }