public void parse_thickness(string value,
                                        LensSurface surface_builder)
            {
                if (value.Length == 0)
                {
                    surface_builder.add_thickness(0.0);
                    return;
                }

                if (Char.IsLetter(value[0]))
                {
                    Variable var = find_variable(value);
                    if (var != null)
                    {
                        for (int i = 0; i < var.num_scenarios(); i++)
                        {
                            string s = var.get_value(i);
                            double d = parseDouble(s);
                            surface_builder.add_thickness(d);
                        }
                    }
                    else
                    {
                        //fprintf (stderr, "Variable %s was not found\n", value);
                        surface_builder.add_thickness(0.0);
                    }
                }
                else
                {
                    surface_builder.add_thickness(parseDouble(value));
                }
            }