docs: function propagate(callback) {
    //disabling this rule because break is not necessary when return is present
    /* eslint-disable no-fallthrough */
    this[symbols.callDeep]("save", (associationDetails) => {
      switch(associationDetails.type) {
        case "hasOne":
          return true;
        case "hasMany":
          if(associationDetails.through === undefined) {
            return true;
          } else {
            return false;
          }
        case "belongsTo":
          return false;
      }
    }, callback);
  }