updateInLoop(loop, objectData) {
      loop.elements.forEach((el) => el.remove());
      loop.elements = [];
      if (!objectData || typeof objectData !== "object" || Array.isArray(objectData)) {
        return;
      }
      Object.keys(objectData).forEach((key) => {
        Logger.debug(`Updating loop for key: ${key}`);
        const newElement = loop.originalElement.cloneNode(true);
        newElement.removeAttribute("data-in");
        newElement.style.display = "";
        const itemContext = {
          [loop.keyVar]: key
        };
        newElement.innerHTML = this.processTemplate(loop.template, objectData, key, itemContext);
        loop.placeholder.parentNode.insertBefore(newElement, loop.placeholder.nextSibling);
        loop.elements.push(newElement);
        this.domManager.bindDOM(newElement);
      });
    }
Updates the content of object-based loops (`data-in`) when the associated object data changes.

This method clears the current DOM elements generated for the loop, then iterates through
the provided `objectData` to render new elements based on the loop's template. It uses the
`keyVar` for the object's keys and binds the DOM elements for further updates.

@param {Object} loop - The loop configuration containing details such as the template,
                       placeholder, and object path.
@param {Object} objectData - The new object data used to generate loop elements.