public void copySpInvToNormalInventory(CommandSender player, String specialInventoryName, int destinationIndex) throws Exception{
		String playerName = player.getName();

		// validation
		int maxIndex = getMaxInventoryIndex(player);
		if(destinationIndex <= 0 || destinationIndex > maxIndex){
			throw new Exception("Wrong destination index.");
		}

		// isExit?
		if(!isExistSpecialInv(playerName, specialInventoryName)){
			throw new Exception(String.format("No such special inventory found: '%s'", specialInventoryName));
		}

        File playerInventoryFile = getInventoryFile(playerName);
        File specialInventoryFile = getInventoryFile(playerName);
        FileConfiguration playerFileConfiguration = YamlConfiguration.loadConfiguration(playerInventoryFile);
        FileConfiguration spinvFileConfiguration = YamlConfiguration.loadConfiguration(specialInventoryFile);

        // get section names
        String playerSectionPathContents = getSectionPathForUserContents(destinationIndex);
        String playerSectionPathArmor    = getSectionPathForUserArmor(destinationIndex);
        String playerSectionPathPotion   = getSectionPathForUserInvPotion(destinationIndex);
        String playerSectionPathGameMode = getSectionPathForUserInvGameMode(destinationIndex);

        // get contents
        String spinvSectionPathContents = getSectionPathForSPInvContents(specialInventoryName);
        String spinvSectionPathArmor    = getSectionPathForSPInvArmor(specialInventoryName);
        String spinvSectionPathPotion   = getSectionPathForSPInvPotion(specialInventoryName);
        String spinvSectionPathGameMode = getSectionPathForSPInvGameMode(specialInventoryName);

        // copy
        playerFileConfiguration.set(playerSectionPathContents, spinvFileConfiguration.get(spinvSectionPathContents));
        playerFileConfiguration.set(playerSectionPathArmor, spinvFileConfiguration.get(spinvSectionPathArmor));
        playerFileConfiguration.set(playerSectionPathPotion, spinvFileConfiguration.get(spinvSectionPathPotion));
        playerFileConfiguration.set(playerSectionPathGameMode, spinvFileConfiguration.get(spinvSectionPathGameMode));

        playerFileConfiguration.save(playerInventoryFile);

        return;
	}