public static BalanceLocator Parse(string str, bool queryFormat) { var splitted = str.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries); if (splitted.Length == 0) { throw new FormatException("Invalid BalanceLocator string"); } var height = queryFormat ? Helper.StringToHeight(splitted[0]) : int.Parse(splitted[0]); if (height == UnconfirmedBalanceLocator.UnconfHeight) { return(UnconfirmedBalanceLocator.ParseCore(splitted, queryFormat)); } else { return(ConfirmedBalanceLocator.ParseCore(height, splitted)); } }