internal static VdfValue Parce(StreamReader reader) { reader.ReadEmpty(); var next = reader.CheckNext(); switch (next) { case VdfReaderToken.BlockStart: return(new VdfValue(VdfObject.Parce(reader))); case VdfReaderToken.Limiter: reader.ReadLimiter(); var text = reader.ReadText(); reader.ReadLimiter(); if (text == null) { return(new VdfValue()); } return(new VdfValue(text)); default: throw new Exception(reader.BaseStream.Position + ": Limiter or BlockStart expected"); } }