private DataItem ParseBlockExplicitKey(out bool success)
{
int errorCount = Errors.Count;
DataItem dataItem = null;
int start_position = position;
MatchTerminal('?', out success);
if (!success)
{
Error("Failed to parse '?' of BlockExplicitKey.");
position = start_position;
return dataItem;
}
dataItem = ParseBlockCollectionEntry(out success);
if (!success)
{
Error("Failed to parse BlockCollectionEntry of BlockExplicitKey.");
position = start_position;
}
if (success) { ClearError(errorCount); }
return dataItem;
}