static getValueFromContext(obj, path) {
      if (!path) return obj;
      return path.split(".").reduce((acc, part) => {
        const arrayMatch = part.match(/^([^\[]+)(?:\[(\d+)\])?$/);
        if (arrayMatch) {
          const [_5, propName, arrayIndex] = arrayMatch;
          const propValue = acc?.[propName];
          return arrayIndex !== void 0 && Array.isArray(propValue) ? propValue[parseInt(arrayIndex, 10)] : propValue;
        }
        return acc?.[part];
      }, obj);
    }
Retrieves a value from a given context object based on a dot-separated path.

This method allows accessing nested properties or array elements from an object
using a path string. If a part of the path references an array, you can include
an array index (for example, 'path.toArray[0]'). If the path is invalid or the property
doesn't exist, the method will return undefined.

@param {Object} obj - The context object to retrieve values from.
@param {string} path - The dot-separated string representing the path to the value.
@returns {*} The value located at the specified path, or undefined if not found.