protected void initializeCommandTypeInfo()
    {
        super.initializeCommandTypeInfo();
        
        Map mm7ArgumentTypeArrayByCommandTypeMap = super.getArgumentTypeArrayByCommandTypeMap();
        Map mm7ArgumentTypeDisplayInfoArrayByCommandTypeMap = super.getArgumentTypeDisplayInfoArrayByCommandTypeMap();
        
        Object newArgumentsByCommandType[] =  new Object[] {
                new Integer(EVENT_COMMAND__ScheduleEvent),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) },
                new Integer(EVENT_COMMAND__ScheduleEventSet),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) },
                new Integer(EVENT_COMMAND__EV_StopDoor),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) },
                new Integer(EVENT_COMMAND__IfHasItemRangeQty),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) },
                new Integer(EVENT_COMMAND__TakeItemRangeQty),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) },
                new Integer(EVENT_COMMAND__LaunchParty),  new Object[] { 
                        _I_(ARGUMENT_TYPE__UNKNOWN_SHORT), "phi", null, _I_(0),
                        _I_(ARGUMENT_TYPE__UNKNOWN_SHORT), "theta", null, _I_(1),
                        _I_(ARGUMENT_TYPE__UNKNOWN_INTEGER), "velocity", null, _I_(2)
                },
                new Integer(EVENT_COMMAND__IfHasBountyRange),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) },
                new Integer(EVENT_COMMAND__IfPCCanAct),  new Object[] { _I_(ARGUMENT_TYPE__UNKNOWN), null, null, _I_(0) }
        };
        
        int argumentTypesForCommandTypeArrayColumns = 2;
        if (newArgumentsByCommandType.length % argumentTypesForCommandTypeArrayColumns != 0)
        {
            throw new RuntimeException("argsAndSizeArray.length = " + newArgumentsByCommandType.length + " which is not a power of " + argumentTypesForCommandTypeArrayColumns + ".");
        }

        for (int index = 0; index < newArgumentsByCommandType.length; index = index+argumentTypesForCommandTypeArrayColumns)
        {
            Integer commandTypeNumber = (Integer)newArgumentsByCommandType[index];
            Object argumentTypeDataArray[] = (Object [])newArgumentsByCommandType[index+1];

            Integer key = null;
            for (int commandTypesIndex = 0; commandTypesIndex < commandTypes.length; commandTypesIndex++) {
    			if (commandTypes[commandTypesIndex].equals(commandTypeNumber))
    			{
    				key = new Integer(commandTypesIndex);
    			}
    		}
            if (null == key)
            {
                throw new RuntimeException("Unable to find command type value" + commandTypeNumber + " in commandTypes");
            }
            
            int[] argumentTypeArray = getArgumentTypeArrayFromArgumentTypeDataArray(argumentTypeDataArray);
            Object newArgumentTypeArrayValue = argumentTypeArray;

            if (argumentTypeArrayByCommandTypeMap.containsKey(key))
            {
                Object value = mm7ArgumentTypeArrayByCommandTypeMap.get(key);
                throw new RuntimeException("mm7ArgumentTypeArrayByCommandTypeMap already contains key " + key + " with value of " + value);
            }

            mm7ArgumentTypeArrayByCommandTypeMap.put(key, newArgumentTypeArrayValue);

        
            ArgumentTypeDisplayInfo[] argumentTypeDisplayInfoArray = getArgumentTypeDisplayInfoArrayFromArgumentTypeDataArray(argumentTypeDataArray);
            Object newArgumentTypeDisplayInfoArrayValue = argumentTypeDisplayInfoArray;

            if (mm7ArgumentTypeDisplayInfoArrayByCommandTypeMap.containsKey(key))
            {
                Object value = mm7ArgumentTypeDisplayInfoArrayByCommandTypeMap.get(key);
                throw new RuntimeException("mm7ArgumentTypeDisplayInfoArrayByCommandTypeMap already contains key " + key + " with value of " + value);
            }

            mm7ArgumentTypeDisplayInfoArrayByCommandTypeMap.put(key, newArgumentTypeDisplayInfoArrayValue);
        }
    }