private void addTaskForce(string symbolId, IMultiLayerMarkerSymbol mlms)
        {
            string modifierName = getTaskForceModifierName(symbolId);

            if (modifierName.Length > 0)
                addMultilayerLayerByName(mlms, modifierName);
        }
        private void addMultilayerLayerByName(IMultiLayerMarkerSymbol mlms, string name)
        {
            if ((mlms == null) || string.IsNullOrEmpty(name))
            {
                LogError("Unexpected Error at addMultilayerLayerByName");
                return;
            }

            IMarkerSymbol symbolLayer = GetMarkerSymbolByName(name);

            if (symbolLayer == null)
            {
                LogError("Error while adding layer to MultiLayerMarkerSymbol, with Name: " + name);
                return;
            }

            if (!AddSymbolToMultiLayerSymbol(mlms, symbolLayer))
                LogError("Error while adding layer to MultiLayerMarkerSymbol, with Name: " + name);
        }
        /// <summary>
        /// This method takes a marker symbol and adds it to the multilayer marker symbol, checks to make sure it's not a multilayer symbol first
        /// </summary>
        /// <param name="mlms"></param>
        /// <param name="ms"></param>
        /// <returns></returns>
        private bool AddSymbolToMultiLayerSymbol(IMultiLayerMarkerSymbol mlms, IMarkerSymbol ms)
        {
            ((ISymbol)ms).ResetDC();

            IMultiLayerMarkerSymbol tempmlms = ms as IMultiLayerMarkerSymbol;

            try
            {
                if (tempmlms != null && tempmlms.LayerCount > 0)
                {
                    for (int layerindex = 0; layerindex < tempmlms.LayerCount; layerindex++)
                    {
                        mlms.AddLayer(tempmlms.get_Layer(layerindex));
                    }
                }
                else
                {
                    mlms.AddLayer(ms);
                }
            }
            catch (Exception ex)
            {
                LogError(ex.ToString());
                return false;
            }

            return true;
        }
        private void addInstallation(string symbolId, IMultiLayerMarkerSymbol mlms)
        {
            string modifierName = getInstallationModifierName(symbolId);

            if (modifierName.Length > 0)
                addMultilayerLayerByName(mlms, modifierName);
        }
        private void addHeadQuarters(string symbolId, IMultiLayerMarkerSymbol mlms)
        {
            string modifierName = getHeadQuartersModifierName(symbolId);

            if (modifierName.Length > 0)
                addMultilayerLayerByName(mlms, modifierName);
        }
        private void addFeintDummy(string symbolId, IMultiLayerMarkerSymbol mlms)
        {
            string modifierName = getFeintDummyModifierName(symbolId);

            if (modifierName.Length > 0)
                addMultilayerLayerByName(mlms, modifierName);
        }
        private void addEchelon(string symbolId, IMultiLayerMarkerSymbol mlms)
        {
            // echelon
            if (!HasValidEchelon(symbolId))
                return;

            string modifierName = getEchelonModifierName(symbolId);
            if (modifierName.Length > 0)
                addMultilayerLayerByName(mlms, modifierName);
        }
        private void addDashedFrame(string symbolId, IMultiLayerMarkerSymbol mlms)
        {
            string modifierName = getDashedFrameName(symbolId);

            if (modifierName.Length > 0)
                addMultilayerLayerByName(mlms, modifierName);
        }