public ConfigurationValue ParseLodedConfigurationValue(Value confValue)
        {
            var parsedValue = ConfigurationValue.NullValue;

            switch (confValue.ValueTypeCase)
            {
            case Value.ValueTypeOneofCase.IntegerValue:
                parsedValue = confValue.IntegerValue;
                break;

            case Value.ValueTypeOneofCase.BooleanValue:
                parsedValue = confValue.BooleanValue;
                break;

            case Value.ValueTypeOneofCase.DoubleValue:
                parsedValue = confValue.DoubleValue;
                break;

            case Value.ValueTypeOneofCase.NullValue:
                parsedValue = null;
                break;

            case Value.ValueTypeOneofCase.StringValue:
                parsedValue = confValue.StringValue;
                break;

            case Value.ValueTypeOneofCase.TimestampValue:
                parsedValue = confValue.TimestampValue.ToDateTime();
                break;

            case Value.ValueTypeOneofCase.BlobValue:
                parsedValue = confValue.BlobValue.ToByteArray();
                break;

            case Value.ValueTypeOneofCase.GeoPointValue:
                parsedValue = ConfigurationValue.FromObject(new
                {
                    SchemaType = "GeoPoint",
                    Latitude   = confValue.GeoPointValue.Latitude,
                    Longtitude = confValue.GeoPointValue.Longitude
                });
                break;

            case Value.ValueTypeOneofCase.ArrayValue:
                parsedValue = ConfigurationValue.FromJSON(GenerateJSONFromValue(confValue));
                break;
            }
            return(parsedValue);
        }