private Subtitle ParseSubtitle (Match match, SubtitleFormat format, ParsingProperties properties, Subtitle previousSubtitle){
SubtitleText text = ParseSubtitleText(match, format);
Style style = ParseStyle(match, format);
Subtitle subtitle = new Subtitle(null, text, style);
if (properties.TimingMode == TimingMode.Frames) {
Frames previousFrames = (previousSubtitle == null ? null : previousSubtitle.Frames);
ParseFrames(match, subtitle.Frames, previousFrames);
}
else {
Times previousTimes = (previousSubtitle == null ? null : previousSubtitle.Times);
ParseTimes(match, subtitle.Times, previousTimes, properties);
}
format.SubtitleInputPostProcess(subtitle);
return subtitle;
}