void CheckForBiomeSwitchErrors()
        {
            error = false;
            if (switchMode.ToString().Contains("Custom"))
            {
                //TODO: 3d samplers management
                int index = (switchMode.ToString().Last() - '0');
                currentSampler = inputBiome.datas[index];
                foreach (var sd in switchDatas)
                {
                    sd.UpdateSampler(currentSampler);
                }
                if (inputBiome.datas[index] == null)
                {
                    errorString = "can't switch on custom value\nat index " + index + ",\ndata not provided";
                    error       = true;
                }
            }
            else if (switchModeToName.ContainsKey(switchMode))
            {
                var    field = inputBiome.GetType().GetField(switchModeToName[switchMode], BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetField);
                var    field3D = inputBiome.GetType().GetField(switchModeToName[switchMode] + "3D", BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetField);
                object val = null, val3D = null;

                if (field != null)
                {
                    val = field.GetValue(inputBiome);
                }
                if (field3D != null)
                {
                    val3D = field3D.GetValue(inputBiome);
                }

                if (val == null && val3D == null)
                {
                    errorString = "can't switch on field " + switchModeToName[switchMode] + ",\ndata not provided !";
                    error       = true;
                }
                else
                {
                    currentSampler = ((val == null) ? val3D : val) as Sampler;
                    foreach (var sd in switchDatas)
                    {
                        sd.UpdateSampler(currentSampler);
                    }
                    updatePreview = true;
                }
            }
        }