    public static void copyExtendedInfo(ModelItem[] items) {
        if (items == null && items.length == 0) {
            return;
        }
        String keyNotAvailableMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.keyNotAvailableYet");
        String fileMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.file")+" ";
        String keyMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.key")+" ";
        String bytesMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.bytes")+" ";
        StringBuilder textToCopy = new StringBuilder();
        CopyToClipboardItem item;
        for (ModelItem ditem : items) {
            if( !(ditem instanceof CopyToClipboardItem) ) {
                continue;
            }
            item = (CopyToClipboardItem) ditem;
            String key = item.getKey();
            if (key == null) {
                key = keyNotAvailableMessage;
            } else {
                key = key + item.getFilename(); 
            }
            String fs;
            if( item.getFileSize() < 0 ) {
                fs = "?";
            } else {
                fs = Long.toString(item.getFileSize());
            }
            textToCopy.append(fileMessage);
            textToCopy.append(item.getFilename()).append("\n");
            textToCopy.append(keyMessage);
            textToCopy.append(key).append("\n");
            textToCopy.append(bytesMessage);
            textToCopy.append(fs).append("\n\n");
        }               
        textToCopy.deleteCharAt(textToCopy.length() - 1);
        StringSelection selection = new StringSelection(textToCopy.toString());
        getClipboard().setContents(selection, dummyClipboardOwner);    
    }

    public static void copyExtendedInfo(ModelItem[] items) {
        if (items == null && items.length == 0) {
            return;
        }
        String keyNotAvailableMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.keyNotAvailableYet");
        String fileMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.file")+" ";
        String keyMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.key")+" ";
        String bytesMessage = Language.getInstance().getString("Common.copyToClipBoard.extendedInfo.bytes")+" ";
        StringBuilder textToCopy = new StringBuilder();
        CopyToClipboardItem item;
        for (ModelItem ditem : items) {
            if( !(ditem instanceof CopyToClipboardItem) ) {
                continue;
            }
            item = (CopyToClipboardItem) ditem;
            String key = item.getKey();
            if (key == null) {
                key = keyNotAvailableMessage;
            } else {
                key = new StringBuffer().append(key).append("/").append(item.getFilename()).toString();
            }
            String fs;
            if( item.getFileSize() < 0 ) {
                fs = "?";
            } else {
                fs = Long.toString(item.getFileSize());
            }
            textToCopy.append(fileMessage);
            textToCopy.append(item.getFilename()).append("\n");
            textToCopy.append(keyMessage);
            textToCopy.append(key).append("\n");
            textToCopy.append(bytesMessage);
            textToCopy.append(fs).append("\n\n");
        }               
        textToCopy.deleteCharAt(textToCopy.length() - 1);
        StringSelection selection = new StringSelection(textToCopy.toString());
        getClipboard().setContents(selection, dummyClipboardOwner);    
    }
