private void actionAdd( )
{
	DefaultMutableTreeNode selNd = getSelectedNode();
	if ( selNd == null )
	{
		audioVectors.add(new LinkedList<double[]>());
		DefaultMutableTreeNode newNd = new DefaultMutableTreeNode("Collection");
		dataRootNd.add(newNd);
		dataTr.scrollPathToVisible(new TreePath(newNd.getPath()));
		dataTr.updateUI();
	}
	else
	{
		int[] selIdxs = getNodeIndexList(selNd);
		if ( selIdxs.length == 1 )
		{
			JFileChooser fileDl = new JFileChooser(FastICAApp.getPreference(FastICAApp.PREF_DIR_ADD));
			if ( fileDl.showOpenDialog(this) == JFileChooser.APPROVE_OPTION )
			{
				try
				{
					File selFile = fileDl.getSelectedFile();
					FastICAApp.setPreference(FastICAApp.PREF_DIR_ADD, selFile.getParentFile().getAbsolutePath());
					double[] audioVector = AudioVector.readAudioFile(selFile, audioSampleRate);
					audioVectors.get(selIdxs[0]).add(audioVector);
					DefaultMutableTreeNode newNd = new DefaultMutableTreeNode(selFile.getName());
					selNd.add(newNd);
					dataTr.scrollPathToVisible(new TreePath(newNd.getPath()));
					dataTr.updateUI();
				}
				catch( Exception exc )
				{
					FastICAApp.exceptionDialog(exc);
				}
			}
		}
	}
}