/**
   * Creates node shadow adapter.
   *
   * @param node Node.
   */
  GridDiscoveryNodeShadowAdapter(GridNode node) {
    assert node != null;

    created = U.currentTimeMillis();
    id = node.id();
    attrs = Collections.unmodifiableMap(node.attributes());
    addrs = Collections.unmodifiableCollection(node.addresses());
    hostNames = Collections.unmodifiableCollection(node.hostNames());
    order = node.order();
    lastMetrics = node.metrics();
    daemon = "true".equalsIgnoreCase(this.<String>attribute(ATTR_DAEMON));
  }