getItemAtTime(document, track, time) {
		let currentTime = '00:00:00,000';
		const entries = track.childNodes;
		for (let entry of entries) {
			// Blank
			if (entry.tagName === 'blank') {
				currentTime = timeManager.addDuration(currentTime, entry.getAttribute('length'));
			}
			// Simple entry
			else if (new RegExp(/^producer/).test(entry.getAttribute('producer'))) {
				currentTime = timeManager.addDuration(currentTime, this.getDuration(entry, document).time);
			}
			// Container of entries
			else {
				const tractor = document.getElementById(entry.getAttribute('producer'));
				const multitrack = tractor.getElementsByTagName('multitrack').item(0);
				currentTime = timeManager.addDuration(currentTime, this.getDuration(multitrack, document).time);
			}

			if (time < currentTime) { // Time is somewhere inside element
				return {
					endTime: currentTime,
					entries: [entry],
				};
			}
			else if (time === currentTime) { // Between two elements
				return {
					endTime: currentTime,
					entries: [entry, entry.nextSibling],
				};
			}
		}
		return {
			endTime: currentTime,
			entries: [],
		};
	}
Get element at provided time. Can return nothing, one element or two elements if the time is just between two items.

@param {Document} document
@param {Node} track
@param {string} time
@returns {{entries: [Element], endTime: string}|{entries: [Element, Element], endTime: string}|{entries: [], endTime: string}}