constructor(
    options,
    body,
    imagelist,
    grouplist,
    globalOptions,
    defaultOptions
  ) {
    this.options = bridgeObject(globalOptions);
    this.globalOptions = globalOptions;
    this.defaultOptions = defaultOptions;
    this.body = body;

    this.edges = []; // all edges connected to this node

    // set defaults for the options
    this.id = undefined;
    this.imagelist = imagelist;
    this.grouplist = grouplist;

    // state options
    this.x = undefined;
    this.y = undefined;
    this.baseSize = this.options.size;
    this.baseFontSize = this.options.font.size;
    this.predefinedPosition = false; // used to check if initial fit should just take the range or approximate
    this.selected = false;
    this.hover = false;

    this.labelModule = new Label(
      this.body,
      this.options,
      false /* Not edge label */
    );
    this.setOptions(options);
  }
@param {object} options An object containing options for the node. All
                           options are optional, except for the id.
                             {number} id     Id of the node. Required
                             {string} label  Text label for the node
                             {number} x      Horizontal position of the node
                             {number} y      Vertical position of the node
                             {string} shape  Node shape
                             {string} image  An image url
                             {string} title  A title text, can be HTML
                             {anytype} group A group name or number
@param {object} body               Shared state of current network instance
@param {Network.Images} imagelist  A list with images. Only needed when the node has an image
@param {Groups} grouplist          A list with groups. Needed for retrieving group options
@param {object} globalOptions      Current global node options; these serve as defaults for the node instance
@param {object} defaultOptions     Global default options for nodes; note that this is also the prototype
                                   for parameter `globalOptions`.