function transferTokens (address[] _recipients, AllocationType _bonusType) public onlyOwnerOrAdmin {
        for (uint256 i = 0; i < _recipients.length; i++) {
            require(_recipients[i] != address(0));
            require(allocations[_recipients[i]][uint8(_bonusType)].amountClaimed < allocations[_recipients[i]][uint8(_bonusType)].totalAllocated);
        }
        for (uint256 addressIndex = 0; addressIndex < _recipients.length; addressIndex++) {
            address recipient = _recipients[addressIndex];
            Allocation storage allocation = allocations[recipient][uint8(_bonusType)];
            if (allocation.totalAllocated > 0) {
                uint256 amount = allocation.totalAllocated.sub(allocation.amountClaimed);
                require(LXT.transferFrom(LXT_OWNER, recipient, amount));
                allocation.amountClaimed = allocation.amountClaimed.add(amount);
                grandTotalClaimed = grandTotalClaimed.add(amount);
            }
        }
    }