public boolean isUnderstood(Event event)
    {
        int commandType = event.getCommandType();
        int minExpectedArgCount =  minExpectedArgByteCount(commandType);
        int maxExpectedArgCount =  maxExpectedArgByteCount(commandType);
        if (minExpectedArgCount == maxExpectedArgCount)
        {
            if (-1 != minExpectedArgCount)
            {
                if (minExpectedArgCount != (event.getRawData().length - EVENT_COMMAND_ARGS_OFFSET))
                    return false;
            }
        }
        else
        {
            if (-1 != minExpectedArgCount)
            {
                int actualArgs = event.getRawData().length - EVENT_COMMAND_ARGS_OFFSET;
                if ((actualArgs < minExpectedArgCount) || (actualArgs > maxExpectedArgCount))
                    return false;
            }
        }
        
        int argumentTypeArray[] = getArgumentTypeArrayForCommandType(commandType);
        if (ARGUMENT_TYPE__UNKNOWN == argumentTypeArray[0])
        {
            return false;
        }
        else
        {
            return true;
        }
    }