public override string GetStepParameters()
        {
            var parameters = new List <string>();

            parameters.Add(SurfaceColour != null ? SurfaceColour.ToStepValue() : "$");
            parameters.Add(Transparency != null ? Transparency.ToStepValue() : "$");
            parameters.Add(DiffuseColour != null ? DiffuseColour.ToStepValue() : "$");
            parameters.Add(TransmissionColour != null ? TransmissionColour.ToStepValue() : "$");
            parameters.Add(DiffuseTransmissionColour != null ? DiffuseTransmissionColour.ToStepValue() : "$");
            parameters.Add(ReflectionColour != null ? ReflectionColour.ToStepValue() : "$");
            parameters.Add(SpecularColour != null ? SpecularColour.ToStepValue() : "$");
            parameters.Add(SpecularHighlight != null ? SpecularHighlight.ToStepValue() : "$");
            parameters.Add(ReflectanceMethod.ToStepValue());

            return(string.Join(", ", parameters.ToArray()));
        }