code: function (name) {
          var all;
  
          // we first procure all matching events from this list
          all = this.listenersOwn(name);
  
          this.eachParent(function (parent) {
              var parentEvents;
  
              // we check that the parent is not immediate mother. then we check whether the non immediate mother has a
              // valid `events` store and only if this store has events with specified listener, we push them to the
              // array we are compiling for return
              (parent !== this.__parent) && EventList.isEventList(parent.events) &&
                  (parentEvents = parent.events.listenersOwn(name)) && parentEvents.length &&
                  all.unshift.apply(all, parentEvents); // eslint-disable-line prefer-spread
          }, this);
  
          return all;
      }
docs: Returns an array of listeners filtered by the listener name
  
  @note
  If one needs to access disabled events, use {@link PropertyList#all} or
  any other similar {@link PropertyList} method.
  
  @param {String} name
  @returns {Array<Event>}