_getFromAllFormElements(property, filterFn) {
      const result = {};

      // Prioritizes imperatively passed filter function over the protected method
      const _filterFn = filterFn || this._getFromAllFormElementsFilter;

      // @ts-ignore [allow-protected]: allow Form internals to access this protected method
      this.formElements._keys().forEach(name => {
        const elem = this.formElements[name];
        if (elem instanceof FormControlsCollection) {
          result[name] = elem.filter(el => _filterFn(el, property)).map(el => el[property]);
        } else if (_filterFn(elem, property)) {
          if (typeof elem._getFromAllFormElements === 'function') {
            result[name] = elem._getFromAllFormElements(property);
          } else {
            result[name] = elem[property];
          }
        }
      });
      return result;
    }
Gets a keyed be name object for requested property (like modelValue/serializedValue)
@param {string} property
@param {(el: FormControl, property?: string) => boolean} [filterFn]
@returns {{[name:string]: any}}