public ArrayList<ArrayList<TaggedDataSequence>> selectData(
				List<String> groupNames, List<Integer> conditions) {
			// AT CERTAIN POINTS, IT SEEMS LIKE I SHOULD BE USING A LINKED,
			// RATHER THAN ARRAY-BASED, STRUCTURE?

			// Initialize two-dimensional array of tagged sequences:
			ArrayList<ArrayList<TaggedDataSequence>> result = new ArrayList<ArrayList<TaggedDataSequence>>();

			// Iterate through selected groups:
			for (String groupName : groupNames) {
				Group group = getGroup(groupName);
				// Declare the new one-dimensional array of tagged
				// sequences:
				ArrayList<TaggedDataSequence> temp = new ArrayList<TaggedDataSequence>();
				// Iterate through conditions:
				for (Integer condition : conditions) {
					// get the data from the group for the given condition,
					// adding it to the temporary 1D result list
					temp.add(new TaggedDataSequence(group, condition, group
							.getData(condition)));

				}
				// put list of results for this group in the result 2D list
				result.add(temp);
			}
			return result;
		}