/// <summary>
        /// This method is called to perform the actual actions on the controlled device.
        /// </summary>
        /// <param name="action">The name of the action to perform (see the experiment file)</param>
        /// <param name="parameter">The action's parameter (see the experiment file)</param>
        protected override void PerformAction(string action, OrderedStringPairCollection parameter)
        {
            switch (action)
            {
            case "InitializeMicroscope":

                break;

            case "BlueSignallight":

                break;

            default:
                throw new Exception("This action is not implemented: " + action);
            }
        }
        /// <summary>
        /// This method has to return the meta data or the sensor.
        /// </summary>
        /// <param name="sensorName">The name of a sensor as included in <see cref="Sensors"/></param>
        /// <returns>Meta data for the sensor</returns>
        /// <remarks>
        /// The meta data is stored in the result file and can be queued without decompressing the actual sensor data.
        /// It's mainly used by the data visualization.
        /// The field "Indicator" should hold a key to choose the right visualization backend.
        /// Using "Timebase" (either "common" or "per well") and "Wells" (24 or 96) a generic backend can be used.
        /// It's good practice to provide at least these three fields.
        /// </remarks>
        public override OrderedStringPairCollection GetMetaData(string sensor)
        {
            CheckSensor(sensor);                                            // this breaks if the sensor is not defined

            OrderedStringPairCollection metaData = new OrderedStringPairCollection();

            switch (sensor)
            {
            case _TemperatureSensorName:
                //metaData.Add("Indicator", "incubator temperature");     // name of the sensor
                break;

            default:
                break;
            }

            return(metaData);
        }