private ShipTypeMapper() {
		shipTypeToColorMap.put(ShipType.PASSENGER, ShipTypeColor.BLUE);
		
		shipTypeToColorMap.put(ShipType.CARGO, ShipTypeColor.GREEN);
		
		shipTypeToColorMap.put(ShipType.TANKER, ShipTypeColor.RED);
		
		shipTypeToColorMap.put(ShipType.HSC, ShipTypeColor.YELLOW);
		shipTypeToColorMap.put(ShipType.WIG, ShipTypeColor.YELLOW);
		
		shipTypeToColorMap.put(ShipType.UNDEFINED, ShipTypeColor.GREY);
		shipTypeToColorMap.put(ShipType.UNKNOWN, ShipTypeColor.GREY);
		
		shipTypeToColorMap.put(ShipType.FISHING, ShipTypeColor.ORANGE);
		
		shipTypeToColorMap.put(ShipType.SAILING, ShipTypeColor.PURPLE);
		shipTypeToColorMap.put(ShipType.PLEASURE, ShipTypeColor.PURPLE);
		
		// The rest is turquoise
		for (ShipType shipType : ShipType.values()) {
			if (shipTypeToColorMap.containsKey(shipType)) {
				continue;
			}
			shipTypeToColorMap.put(shipType, ShipTypeColor.TURQUOISE);			
		}
		
		// Initialize array
		for (ShipTypeColor color : ShipTypeColor.values()) {
			List<ShipType> list = new ArrayList<ShipType>();
			colorToShipTypeMap.put(color, list);
		}
		
		// Fill reverse map
		for (ShipType shipType : shipTypeToColorMap.keySet()) {
			ShipTypeColor color = shipTypeToColorMap.get(shipType);
			colorToShipTypeMap.get(color).add(shipType);
		}
		
	}