//-----------------------------
bool DocumentProcessor::createAndWriteSkinControllers()
{
    Loader::InstanceControllerDataListMap::const_iterator mapIt = mInstanceControllerDataListMap.begin();

    for ( ; mapIt != mInstanceControllerDataListMap.end(); ++mapIt )
    {
        const COLLADAFW::UniqueId& skinDataUniqueId = mapIt->first;
        const Loader::InstanceControllerDataList& instanceControllerDataList = mapIt->second;

        Loader::InstanceControllerDataList::const_iterator listIt = instanceControllerDataList.begin();

        for ( ; listIt != instanceControllerDataList.end(); ++listIt)
        {
            const Loader::InstanceControllerData& instanceControllerData = *listIt;
            const COLLADABU::URI* sourceUrl = getSkinSourceBySkinDataUniqueId( skinDataUniqueId );

            if ( !sourceUrl )
            {
                // TODO handle error
                continue;
            }

            const COLLADAFW::UniqueId& sourceUniqueId = getUniqueIdByUrl(*sourceUrl, true);
            if ( !sourceUniqueId.isValid() )
            {
                // TODO handle error
                continue;
            }
            if ( !createAndWriteSkinController( instanceControllerData, skinDataUniqueId, sourceUniqueId ) )
                return false;
        }
    }
    return true;
}
	//------------------------------
	bool LibraryControllersLoader::begin__skin( const skin__AttributeData& attributeData )
	{
		mCurrentControllerType = SKIN_CONTROLLER;
		mCurrentSkinControllerData = FW_NEW COLLADAFW::SkinControllerData(createUniqueIdFromId(mCurrentControllerId.c_str(), COLLADAFW::SkinControllerData::ID()));

        mCurrentSkinControllerData->setOriginalId ( mOriginalId );
        mCurrentSkinControllerData->setName ( mCurrentControllerName );
		mCurrentControllerSourceUniqueId = getUniqueIdByUrl(attributeData.source);
		COLLADABU::URI absoluteUri(getFileUri(), attributeData.source.getURIString());
		addSkinDataSkinSourcePair( mCurrentSkinControllerData->getUniqueId(), absoluteUri);
		return true;
	}