CCMenuItemSprite missing assert in initFromNormalSprite

If I create CCMenuItemSprite:

CCMenuItemSprite* menuItemSprite = CCMenuItemSprite::itemFromNormalSprite(sprite, NULL, target, selector);
menuItemSprite ->setColor(ccc3(0, 255, 0);//crash on m_pSelectedImage->convertToRGBAProtocol()->setColor(color);
menuItemSprite ->setOpacity(255);//crash on m_pSelectedImage->convertToRGBAProtocol()->setOpacity(opacity);

So assert is missing in:
bool CCMenuItemSprite::initFromNormalSprite(CCNode* normalSprite, CCNode* selectedSprite, CCNode* disabledSprite, SelectorProtocol* target, SEL_MenuHandler selector)

or tests m_pSelectedImage in mentioned functions.

oops, you can not pass NULL to the 2nd param of CCMenuItemSprite::itemFromNormalSprite.
This code snip works

    CCSprite* sprite = CCSprite::spriteWithFile("CloseNormal.png");
    CCSprite* sprite2 = CCSprite::spriteWithTexture( sprite->getTexture() );
    CCMenuItemSprite* pCloseItem = CCMenuItemSprite::itemFromNormalSprite(sprite, 
                                                                          sprite2,
                                                                          this,
                                                                          menu_selector(HelloWorld::menuCloseCallback));
    pCloseItem->setColor(ccc3(0,255,0));
    pCloseItem->setOpacity(255);

    pCloseItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20) );

Yes I agree and thats the reason for adding assertion to avoid inssert second NULL parametr.