code: function findSubscribersRecursively( node, parts, subscribers ) {
     if( Array.isArray( node[ SUBSCRIBER_FIELD ] ) ) {
        subscribers.push( ...node[ SUBSCRIBER_FIELD ] );
     }
  
     if( parts.length === 0 ) {
        return;
     }
  
     const [ part, ...remainder ] = parts;
     if( part.indexOf( SUB_TOPIC_SEPARATOR ) !== -1 ) {
        let index = part.length;
        let currentPart = part;
        do {
           currentPart = currentPart.substring( 0, index );
           if( currentPart in node ) {
              findSubscribersRecursively( node[ currentPart ], remainder, subscribers );
           }
           index = currentPart.lastIndexOf( SUB_TOPIC_SEPARATOR );
        }
        while( index !== -1 );
     }
     else if( part in node ) {
        findSubscribersRecursively( node[ part ], remainder, subscribers );
     }
  
     if( WILDCARD in node ) {
        findSubscribersRecursively( node[ WILDCARD ], remainder, subscribers );
     }
  }
docs: ////////////////////////////////////////////////////////////////////////////////////////////////////////////