public static List<AbstractCarriage> findCarriages(SimpleTrain train,
			int minPassengerCount, int maxPassengerCount) {
		if(train == null){
			LOG.error("Train is null");
			throw new IllegalArgumentException("Train is null");
		}
		List<AbstractCarriage> list = new ArrayList<AbstractCarriage>();
		for (AbstractCarriage ac : train) {
			if (ac instanceof AbstractPassengerCarriage) {
				AbstractPassengerCarriage apc = (AbstractPassengerCarriage) ac;
				if ((apc.getPassengerCurCount() >= minPassengerCount)
						&& (apc.getPassengerCurCount() <= maxPassengerCount)) {
					list.add(apc);
				}
			}
		}
		return list;
	}