private Block BuildBlock(IBlockBuilder builder, int start, StringRange document, out int newPosition) { try { return builder.Build(start, document, out newPosition); } catch (Exception x) { throw new ParsingException("Parser failed to parse block. See exception details for more info.", x) { BuilderType = builder.GetType(), Position = start, Content = new StringRange(document.Document, start, document.End) }; } }