private static bool ParseDelimiter (ParserState state)
{
var delimiter = Uri.GetSchemeDelimiter (state.elements.scheme);
if (!state.remaining.StartsWith (delimiter, StringComparison.Ordinal)) {
if (UriHelper.IsKnownScheme (state.elements.scheme)) {
state.error = "Invalid URI: The Authority/Host could not be parsed.";
return false;
}
delimiter = ":";
}
state.elements.delimiter = delimiter;
state.remaining = state.remaining.Substring (delimiter.Length);
return state.remaining.Length > 0;
}