public static function build($pointer)
    {
        if (is_string($pointer)) {
            return SourceMap::loadFromFile($pointer);
        }
        if (is_array($pointer)) {
            return new SourceMap($pointer);
        }
        if ($pointer instanceof SourceMap) {
            return $pointer;
        }
        throw new \InvalidArgumentException('Argument must be a SourceMap or a data array or a file name');
    }