resolveSID(conf, sid) {
		if (typeof(sid) != 'string')
			return sid;

		const m = /^@([a-zA-Z0-9_-]+)\[(-?[0-9]+)\]$/.exec(sid);

		if (m) {
			const type = m[1];
			const pos = +m[2];
			const sections = this.sections(conf, type);
			const section = sections[pos >= 0 ? pos : sections.length + pos];

			return section?.['.name'] ?? null;
		}

		return sid;
	}
Resolves a given section ID in extended notation to the internal
section ID value.

@param {string} conf
The configuration to resolve the section ID for.

@param {string} sid
The section ID to resolve. If the ID is in the form `@typename[#]`,
it will get resolved to an internal anonymous ID in the forms
`cfgXXXXXX`/`newXXXXXX` or to the name of a section in case it points
to a named section. When the given ID is not in extended notation,
it will be returned as-is.

@returns {string|null}
Returns the resolved section ID or the original given ID if it was
not in extended notation. Returns `null` when an extended ID could
not be resolved to existing section ID.