///
        ///	 <summary> * return the jmf root of the status jmf that contains all modules, null if no modules are active
        ///	 *
        ///	 * @return </summary>
        ///
        public virtual JDFDoc getStatusResponse()
        {
            if (counters.Count == 0)
            {
                return(null);
            }

            StatusCounter root = counters[0];
            JDFDoc        d    = new JDFDoc("JMF");
            JDFJMF        jmf  = d.getJMFRoot();

            jmf.mergeElement(root.getDocJMFPhaseTime().getJMFRoot(), false);
            JDFDeviceInfo di = jmf.getResponse(0).getDeviceInfo(0);

            for (int i = 1; i < counters.Count; i++)
            {
                StatusCounter counter         = counters[i];
                JDFDoc        docJMFPhaseTime = counter.getDocJMFPhaseTime();
                if (docJMFPhaseTime == null)
                {
                    continue;
                }
                JDFDeviceInfo di2    = docJMFPhaseTime.getJMFRoot().getResponse(0).getDeviceInfo(0);
                VElement      phases = di2.getChildElementVector(ElementName.JOBPHASE, null, null, true, -1, false);
                for (int j = 0; j < phases.Count; j++)
                {
                    di.copyElement(phases[j], null);
                }
                di.setDeviceStatus(getDeviceStatus());
            }
            return(d);
        }