public static function fromFile($filename, $use_include_path = false, $context = null)
    {
        $read_time = microtime(true);
        $html      = file_get_contents($filename, $use_include_path, $context);
        $read_time = microtime(true) - $read_time;
        if (false === $html) {
            return $html;
        }

        $doc              = self::fromHTML($html, $filename);
        $doc->source_type = 'file';
        $doc->read_time   = $read_time * 1000;
        return $doc;
    }