@Override
    public ConcurrentHashMap<TypeOfTravelClass, TravelClass> createTravelClass(List<TravelClass> travelClasses) throws UnsupportedOperationException {
        ConcurrentHashMap<TypeOfTravelClass, TravelClass> _travelClasses = new ConcurrentHashMap(5, 0.9f, 2);
        
        for(TravelClass _travelClass : travelClasses){
            String _travelClassFQN = _travelClass.getClass().getName();
            String _travelClassName = _travelClassFQN.substring(_travelClassFQN.indexOf(".") +1);
            switch(_travelClassName){
                case "FirstClass":      _travelClasses.put(TypeOfTravelClass.FIRSTCLASS, _travelClass);
                    break;
                case "BusinessClass":   _travelClasses.put(TypeOfTravelClass.BUSINESSCLASS, _travelClass);
                    break;
                case "EconomyClass":    _travelClasses.put(TypeOfTravelClass.ECONOMYCLASS, _travelClass);
                    break;
                default:    
                    throw new IllegalArgumentException("Type of Travel class not valid");
            }
        }
        isInitialized = this.initialize(_travelClasses);
        return _travelClasses;
    }