public static AbstractCarriage generatePassengerCarriage() {
		AbstractCarriage carriage = null;
		try {
			carriage = PassengerCarriageFactory.newCarriage(
					new RandomEnum<PassengerCarType>(PassengerCarType.class).random(),
					generateId(),
					generateNumber(),
					new RandomEnum<ComfortType>(ComfortType.class).random(),
					generatePessangerMaxCount(),
					generateBaggageMaxWeight());
			((AbstractPassengerCarriage) carriage).setPassengerCurCount(random
					.nextInt(((AbstractPassengerCarriage) carriage).getPassengerMaxCount()+ 1));
			((AbstractPassengerCarriage) carriage).setBaggageCurWeight(random
					.nextInt(((AbstractPassengerCarriage) carriage).getBaggageMaxWeight() + 1));
		} catch (CarriageException e) {
			LOG.fatal("Cant't generete new PassengerCarriage", e);
			System.exit(1);
		}
		LOG.debug("New PassengerCarriage was generaed: " + carriage);
		return carriage;
	}