code: function Node(id, version, label, href, hostname, caps, services) {
    this.id = this.generateID(id);
    this.version = this.generateVersion(version);
    this.label = this.generateLabel(label);
    /**
     * HTTP access href for the Node's API.
     * @type {string}
     * @readonly
    */
    this.href = this.generateHref(href);
    /**
     * Node hostname - set to null when not present.
     * @type {string}
     * @readonly
     */
    this.hostname = this.generateHostname(hostname);
    /**
     * [Capabilities]{@link capabilities} (not yet defined).
     * @type {Object}
     * @readonly
     */
    this.caps = this.generateCaps(caps);
    /**
     * Array of objects containing a URN format type and href.
     * @type {Object[]}
     * @readonly
     */
    this.services = this.generateServices(services);
    return immutable(this, { prototype : Node.prototype });
  }
docs: Describes a Node. Immutable value.
  @constructor
  @augments Versionned
  @param {string} id       Globally unique UUID identifier for the Node.
  @param {string} version  String formatted PTP timestamp
  (&lt;<em>seconds</em>&gt;:&lt;<em>nanoseconds</em>&gt;)
  indicating precisely when an attribute of the resource
  last changed.
  @param {string} label    Freeform string label for the Node.
  @param {string} href     HTTP access href for the Node's API.
  @param {string} hostname Node hostname - set to null when not present.
  @param {Object} caps     [Capabilities]{@link capabilities} (not yet defined).
  @param {Object[]} services Array of objects containing a URN format type and href.