docs: function deepCopyProperties(target, source, propertyObj) {
      for (const prop in propertyObj) {
          if (Array.isArray(source[prop])) {
              target[prop] = source[prop].slice();
          } else {
              target[prop] = source[prop];
          }
      }
  }