function originalPositionFor(source, line, column, name) {
        if (!source.map) {
            return { column, line, name, source: source.source, content: source.content };
        }
        const segment = traceMapping.traceSegment(source.map, line, column);
        // If we couldn't find a segment, then this doesn't exist in the sourcemap.
        if (segment == null)
            return null;
        // 1-length segments only move the current generated column, there's no source information
        // to gather from it.
        if (segment.length === 1)
            return SOURCELESS_MAPPING;
        return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
    }
originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
child SourceMapTrees, until we find the original source map.