@Override
	public void flavorsChanged(FlavorEvent e) {
		
		Transferable tf = null;
		
		try { 
			tf = clip.getContents(null); 
		}
		catch (IllegalStateException illStateEx) { 
			return;
		}
		
		String copyString = null;
		
		if ( tf.isDataFlavorSupported(DataFlavor.stringFlavor) && this.opt.isEnabled() ) {		

			try {

				copyString = (String)tf.getTransferData(DataFlavor.stringFlavor);

				if (copyString != null) {

					StringSelection ss = new StringSelection(copyString);
					Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, this);
				}

				if ( !this.guiState.getList().getModel().getItems().contains(copyString) ) {

					try {
						//listener.newString(copyString);
						this.newString(copyString);
					}
					catch (Exception ex) { 
						ex.printStackTrace(); 
					}
				}
				else {
					
				}
			}
			catch (IOException ioEx) { }
			catch (UnsupportedFlavorException unFlvEx) { }
			catch (IllegalStateException illEx) { }
		}
		else { }
	}