Maybe they have some purpose, but it isn't immediately obvious. I tried Tree & List mode, they're never populated.

![image](https://user-images.githubusercontent.com/13134193/33488849-04a2c8a6-d6ed-11e7-85c3-5c05f1ec5346.png)

* Bitcoin-Qt 0.15.1 for Ubuntu 16.04 x64 (from http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu xenial/main amd64)

Note: I just noticed I'm *not* seeing this on Ubuntu 17.10 x64 with 0.15.1 downloaded from bitcoincore.org. 

![image](https://user-images.githubusercontent.com/13134193/33491553-9584dc62-d6f5-11e7-9ba7-e074e0e36151.png)


{
            
            ui->treeWidget->addTopLevelItem(itemWalletAddress);
            itemWalletAddress->setFlags(flgTristate);
            itemWalletAddress->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
            
            itemWalletAddress->setText(COLUMN_LABEL, sWalletLabel);
            
            itemWalletAddress->setText(COLUMN_ADDRESS, sWalletAddress);
        }
        CAmount nSum = 0;
        int nChildren = 0;
        for (const auto& outpair : coins.second) {
            const COutPoint& output = std::get<0>(outpair);
            const interfaces::WalletTxOut& out = std::get<1>(outpair);
            nSum += out.txout.nValue;
            nChildren++;
            CCoinControlWidgetItem *itemOutput;
            if (treeMode)    itemOutput = new CCoinControlWidgetItem(itemWalletAddress);
            else             itemOutput = new CCoinControlWidgetItem(ui->treeWidget);
            itemOutput->setFlags(flgCheckbox);
            itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked);
            
            CTxDestination outputAddress;
            QString sAddress = "";
            if(ExtractDestination(out.txout.scriptPubKey, outputAddress))
            {
                sAddress = QString::fromStdString(EncodeDestination(outputAddress));
                
                if (!treeMode || (!(sAddress == sWalletAddress)))