run(){
        if(this.hasGuiOutput()){

            let group = document.createElement('div'); 
            group.classList.add('componentGroup');
            group.id = this.id;

            let groupLabel = document.createElement('div');
            groupLabel.classList.add('componentGroupLabel');
            groupLabel.innerHTML = this.name + ':';
            group.appendChild(groupLabel);  

            let groupDescription = document.createElement('div');
            groupDescription.classList.add('componentGroupDescription');
            groupDescription.innerHTML = this.description;
            group.appendChild(groupDescription);

            document.getElementById(this.parentId).appendChild(group);  

            for (var i = 0; i < this.components.length; i++){
                this.components[i].run();
            }
        } 
    }
/**
     * handles generating HTML gui output for the group 
     */
handles generating HTML gui output for the group
handles generating HTML gui output for the group
run(){
        if(this.hasGuiOutput()){
            let group = document.createElement('div'); 
            group.classList.add('componentGroup');
            group.id = this.id;
            let groupLabel = document.createElement('div');
            groupLabel.classList.add('componentGroupLabel');
            groupLabel.innerHTML = this.name + ':';
            group.appendChild(groupLabel);  
            let groupDescription = document.createElement('div');
            groupDescription.classList.add('componentGroupDescription');
            groupDescription.innerHTML = this.description;
            group.appendChild(groupDescription);
            document.getElementById(this.parentId).appendChild(group);  
            for (var i = 0; i < this.components.length; i++){
                this.components[i].run();
            }
        } 
    }
run ( ) { if ( this . hasGuiOutput ( ) ) { let group = document . createElement ( 'div' ) ; group . classList . add ( 'componentGroup' ) ; group . id = this . id ; let groupLabel = document . createElement ( 'div' ) ; groupLabel . classList . add ( 'componentGroupLabel' ) ; groupLabel . innerHTML = this . name + ':' ; group . appendChild ( groupLabel ) ; let groupDescription = document . createElement ( 'div' ) ; groupDescription . classList . add ( 'componentGroupDescription' ) ; groupDescription . innerHTML = this . description ; group . appendChild ( groupDescription ) ; document . getElementById ( this . parentId ) . appendChild ( group ) ; for ( var i = 0 ; i < this . components . length ; i ++ ) { this . components [ i ] . run ( ) ; } } }
handles generating HTML gui output for the group
handles generating HTML gui output for the group