private void refreshClipboardList() {
        Transferable[] copiedItems = CopyPasteManager.getInstance().getAllContents();
        int amountItems            = UtilsClipboard.getAmountStringItemsInTransferables(copiedItems);
        String[] itemsUnique       = null;
        boolean hasClipboardContent= UtilsClipboard.hasContent();

        String[] copyItemsList   = new String[amountItems];
        if( amountItems > 0 || hasClipboardContent ) {
                // Add copied string items, historic and current
            int index           = 0;
            for( Transferable currentItem : copiedItems) {
                if( currentItem.isDataFlavorSupported( DataFlavor.stringFlavor ) )  {
                    try {
                        String itemStr  = currentItem.getTransferData( DataFlavor.stringFlavor ).toString();
                        if( !itemStr.trim().isEmpty() ) {
                            copyItemsList[index] = itemStr;
                            index++;
                        }
                    } catch(Exception e) {
                        e.printStackTrace();
                    }
                }
            }

                // Tidy items: distinct items, none empty
            String[] copyItemsPref = Preferences.getItems();
            Object[] allItems      = (copyItemsPref.length > 0) ? ArrayUtils.addAll(copyItemsList, copyItemsPref) : copyItemsList;
            itemsUnique            = UtilsArray.tidy(allItems);
            if( itemsUnique.length > 0 ) {
                this.setClipboardListData(itemsUnique, false);
                this.sortClipboardListByTags(this.form.checkboxKeepSorted.isSelected());

                Preferences.saveCopyItems(itemsUnique);
            }
        }

        initStatusLabel(itemsUnique == null ? 0 : itemsUnique.length);
    }