async function addDefinitionTableForLanguage(definition, idPrefix, category, project, type, count, language) {
                let html = ''
                if(definition === undefined) {
                    definition = {
                        text: "Right click and select the pencil button to edit this tex. Replace it with a definition / summary. Hit ESC to exit edit mode."
                    }
                }

                let definitionText = ED.utilities.getTextBasedOnLanguage(definition, language)
                definitionText = definitionText + ED.utilities.addWarningIfTranslationIsOutdated(definition, language)

                /* We will test if we can draw an image here or not*/
                let testElement
                if(definition.icon !== undefined) {
                    testElement = ED.designSpace.getIconByProjectAndName(definition.icon.project, definition.icon.name)
                } else {
                    testElement = ED.designSpace.getIconByProjectAndType(project, type)
                }

                /* 
                For nodes we always render a Definition Table, since we assume 
                each node will have an icon. For the rest only if we could load an 
                image we use a table, otherwise we will render the definitaion as a Summary.
                */
                const hidden = language != ED.DEFAULT_LANGUAGE ? 'hidden' : ''
                if((category === 'Topic' || category === 'Tutorial' || category === 'Review' || category === 'Concept' || category === 'Book') && testElement === undefined) {
                    html = html + '<div id="definition-summary-editable-paragraph-' + count + '" class="docs-summary ' + hidden + '" language="' + language + '"><b>Summary:</b> ' + await ED.utilities.addToolTips(definitionText, thisObject.currentDocumentBeingRendered.type) + '</div>'
                } else {
                    html = html + '<div class="docs-definition-table ' + hidden + '" language="' + language + '">'

                    let imageItem = {
                        div: 'definition-image-div-' + definitionImagesArray.length,
                        project: project,
                        category: category,
                        type: type,
                        icon: definition.icon // if exists, this will override the default that is taking the image from the doc project / type.
                    }
                    definitionImagesArray.push(imageItem)

                    html = html + '<div id="' + imageItem.div + '" class="docs-image-container"></div>'
                    html = html + '<div id="' + idPrefix + 'paragraph" class="docs-definition-text"><strong>' + await ED.utilities.addToolTips(definitionText, thisObject.currentDocumentBeingRendered.type) + '</strong></div>'
                    html = html + '</div>'
                }
                return html
            }
@param {Definition} definition 
@param {string} idPrefix 
@param {string} category 
@param {string} project 
@param {string} type 
@param {number} count
@param {string} language 
@returns {Promise<string>}