public LinkedHashMap<CharSequence,Integer> getMonthsForYear(int year) {
			
		LinkedHashMap<CharSequence,Integer> months = new LinkedHashMap<CharSequence,Integer>();
		
		if (mYearToMonthList.size() == 0 || !mYearToMonthList.containsKey(year)) {
			// Need to build list from scratch		
						
			TreeSet<Memento> mementos =  mYearList.get(year);
			if (mementos == null) {
				return months;
			}
			
			// Array of all months and their mementos for this year
			ArrayList<ArrayList<Memento>> monthList = mYearToMonthList.get(year);
			if (monthList == null) {
				monthList = new ArrayList<ArrayList<Memento>>();
				
				// List contains no mementos for 12 months
				for (int mon = 0; mon < 12; mon++) {
					monthList.add(null);
				}
				
				mYearToMonthList.put(year, monthList);
			}
			
			for (Memento m : mementos) {
								
				//String month = m.getDateTime().getMonthName();
				int month = m.getDateTime().getMonth();
								
				// List of all mementos for this year and month
				ArrayList<Memento> mementoList = monthList.get(month - 1);
				if (mementoList == null) {
					mementoList = new ArrayList<Memento>();
					monthList.add(month - 1, mementoList);	
				}
				
				mementoList.add(m);									
			}
		}

		
		// Return month counts, but ignore months with no dates
		DateFormatSymbols df = new DateFormatSymbols();
		months = new LinkedHashMap<CharSequence,Integer>();
		ArrayList<ArrayList<Memento>> monthList = mYearToMonthList.get(year);
		for (int mon = 0; mon < 12; mon++) {
			//System.out.println("month = " + mon);
			if (monthList.get(mon) != null) {
				String monthName = df.getMonths()[mon];
				months.put(monthName, monthList.get(mon).size());	
				//System.out.println("  size = " + monthList.get(mon).size());
			}
		}
	    	
		return months;
	}