public CustomColourMap InitMap() { 
		ArrayList<Colour> colorList = new ArrayList<Colour>();
		boolean continueAdding = true; /* true if user wants to add another 
											colour */
		final int YES = 0;
		while (continueAdding) {
			m_colour = null;
			SetColour();
				
			if (m_colour == null) {
				//Terminate here.
				return null;
			} else {
				int r = m_colour.getRed();
				int b = m_colour.getBlue();
				int g = m_colour.getGreen();
				String hex = RGBtoHEX(r, b, g);
				Colour newColour = new Colour(hex);
				colorList.add(newColour);	
			}
			
			int n = JOptionPane.showConfirmDialog(
				null,
				"Continue adding colours to colour scheme?",
				"Colour Question",
				JOptionPane.YES_NO_OPTION);
			/* checks whether user wants to continue adding colours */
			if (n == YES) {
			/* lets user continue adding */
				continueAdding = true;
			} else {
			/* stops user from adding any more */
				continueAdding = false;
			}			
			
		}
		
		m_colorList = new Colour[colorList.size()];
		for (int i = 0; i < colorList.size(); i++) {
			m_colorList[i] = colorList.get(i);
		}
		CustomColourMap custom = new CustomColourMap(m_colorList, "Custom");
		return custom;
	}