getInheritedNodeStyles(nodes) {

    const src = this.getTiddlersByIds(nodes);
    const protoByTRef = {};
    const glNTy = this.indeces.glNTy;

    for (let i = glNTy.length; i--;) {
      const type = glNTy[i];

      let inheritors = [];
      if (type.id === 'tmap:neighbour') { // special case
        for (let id in nodes) {

          if (nodes[id].type === 'tmap:neighbour') {

            inheritors.push(this.getTiddlerById(id));
          }
        }
      } else {
        inheritors = type.getInheritors(src);
      }

      for (let j = inheritors.length; j--;) {
        const tRef = inheritors[j];
        const proto = protoByTRef[tRef] = (protoByTRef[tRef] || {});
        proto.style = utils.merge(
          proto.style || {},
          type.style
        );

        // ATTENTION: only override proto icons when the type provides
        // an icon since otherwise we might erase previously
        // inherited icons.
        if (type['fa-icon']) {
          proto['fa-icon'] = type['fa-icon'];
        } else if (type['tw-icon']) {
          proto['tw-icon'] = type['tw-icon'];
        }

      }
    }

    return protoByTRef;

  }
Return node styles that are inherited from system styles or node types.

@param nodes
@return {Object<TiddlerReference, Object>}