getMatchingAttributes(options) {
        let needles = this.attributes.filter(e => {
            return e.constructor.name === options.attributeClass;
        });

        if (options.attributeType) {
            needles = needles.filter(e => {
                return e.type === options.attributeType;
            });

            if (options.attributeSubType) {
                return needles.filter(e => {
                    return e.subType === options.attributeSubType;
                });
            } else {
                return needles;
            }
        } else {
            return needles;
        }
    }
@public

@param {AttributeMatcher|any} options
@returns {Array<any|import("./Attribute")>}