public void suggestAxisPairs(MetaMetrics selectedMetric){


		Collections.sort(metricsList, new SortMetrics(selectedMetric));


		//instantiate suggested list
		suggestedAxisPairList = new ArrayList<AxisPairMetrics>();

		// sublist for selecting axis pairs, we want to include the first and last axes but not the intermediate ones
		List<Integer> subList = new ArrayList<Integer>();

		//local copy of all axis pair objects list to prevent concurrent modification
		//ArrayList<AxisPairMetrics> copyOfMetricsList = new ArrayList<AxisPairMetrics>();

		//		for(AxisPairMetrics am:metricsList)
		//		{
		//
		//			copyOfMetricsList.add(am);
		//
		//		}

		for(AxisPairMetrics am: metricsList)
		{

			System.err.println("Val *********************************************  " +am.getJointEntropy());
			
			int dim1 = am.getDimension1();
			int dim2 = am.getDimension2();

			// filtering conditions
			if(selectedAxesList!=null)
			{
				int lastElementPosition = currentDrawnList.size()-1;
				subList = currentDrawnList.subList(1, lastElementPosition);
				if((!subList.contains(dim1)|| !subList.contains(dim2))&& 
						(dim1==currentDrawnList.get(0)||dim1==currentDrawnList.get(currentDrawnList.size()-1)||dim2==currentDrawnList.get(0)||dim2==currentDrawnList.get(currentDrawnList.size()-1)))
				{

					suggestedAxisPairList.add(am);
					//	System.err.println("Suggested 1  " +dim1 + " Suggested 2  "+dim2);
					//	copyOfMetricsList.remove(am);

				}
			}
			else
				suggestedAxisPairList.add(am);
			//	copyOfMetricsList.remove(am);
		}

		//	metricsList = copyOfMetricsList;

		repaint();
	}