l_Components[li_i].dispose(); l_Components[li_i] = null;
l_Components[li_index].dispose(); l_Components[li_index] = null;
	private void updateComponentRow(int ai_index)	{		Component[] l_Components = (Component[]) iAL_TableComponentsInRow.get(ai_index - 1);		if (l_Components != null && i_Component_RowModels != null && l_Components.length > 0 && i_Component_RowModels.length > 0)		{			if (l_Components.length != ii_tableComponent_ModelsSize)			{				l_Components = new Component[ii_tableComponent_ModelsSize];				for (int li_index = 0; li_index < ii_tableComponent_ModelsSize; li_index++)				{					if (i_Component_RowModels[li_index] != null)					{						TableComponentData l_TableComponentData = new TableComponentData(i_TableModel);						l_TableComponentData.setRow(ai_index);						l_TableComponentData.setColumn(li_index + 1);						Component l_Component = i_Component_RowModels[li_index].cloneComponent();						l_Component.setComponentData(l_TableComponentData);						l_Component.syncronizeData();						l_Components[li_index] = l_Component;					}				}				iAL_TableComponentsInRow.set(ai_index - 1, l_Components);			}			else			{				for (int li_i = 0; li_i < ii_tableComponent_ModelsSize; li_i++)				{					if (l_Components[li_i] == null && i_Component_RowModels[li_i] == null)					{						// Do nothing					}					else if (l_Components[li_i] == null && i_Component_RowModels[li_i] != null)					{						// Component structure has changed						l_Components[li_i] = i_Component_RowModels[li_i].cloneComponent();						l_Components[li_i].setComponentData(new TableComponentData(i_TableModel));						TableComponentData l_TableComponentData = (TableComponentData) l_Components[li_i].getComponentData();						l_TableComponentData.setRow(ai_index);						l_TableComponentData.setColumn(li_i + 1);						l_Components[li_i].syncronizeData();					}					else if (l_Components[li_i] != null && i_Component_RowModels[li_i] == null)					{						// Component structure has changed						l_Components[li_i].dispose();						l_Components[li_i] = null;					}					else if (l_Components[li_i].getClass().equals(i_Component_RowModels[li_i].getClass()))					{						TableComponentData l_TableComponentData = (TableComponentData) l_Components[li_i].getComponentData();						l_TableComponentData.setRow(ai_index);						l_TableComponentData.setColumn(li_i + 1);						l_Components[li_i].syncronizeData();					}					else // Component column type has been changed						{						TableComponentData l_TableComponentData = new TableComponentData(i_TableModel);						l_TableComponentData.setRow(ai_index);						l_TableComponentData.setColumn(li_i + 1);						l_Components[li_i] = i_Component_RowModels[li_i].cloneComponent();						l_Components[li_i].setComponentData(l_TableComponentData);						l_Components[li_i].syncronizeData();					}				}			}		}	}