private void processBidEvent(BidEvent event) {

		// max global Bit
		if (event.getType().equals(BidEvent.BID_PLACED)
				|| event.getType().equals(BidEvent.BID_OVERBID)) {
			if (maxBidEvent == null) {
				Timestamp currentTimestamp = new Timestamp(
						System.currentTimeMillis());
				long timestamp = currentTimestamp.getTime();
				try {
					maxBidEvent = new StatisticsEvent(
							StatisticsEvent.BID_PRICE_MAX, timestamp,
							event.getPrice());
				} catch (WrongEventTypeException e) {
					logger.error("Error: Wrong Eventtype accured");
				}
			}
			if (event.getPrice() > maxBidEvent.getValue()) {
				maxBidEvent.setValue(event.getPrice());
			}
			notifyManagementClients(maxBidEvent);

			// bits per minute
			Timestamp nowTimeStamp = new Timestamp(System.currentTimeMillis());
			long now = nowTimeStamp.getTime();

			// determine minutes since systemstart- but it cannot be < 1
			long differenceInMin = (now - systemStart) / 1000 / 60;
			if ((differenceInMin) < 1) {
				differenceInMin = 1;
			}

			double bpm = (double) ++bidCounter / differenceInMin;

			if (bidPerMinuteEvent == null) {
				try {
					bidPerMinuteEvent = new StatisticsEvent(
							StatisticsEvent.BID_COUNT_PER_MINUTE, now, bpm);
				} catch (WrongEventTypeException e) {
					logger.error("Error: Wrong Eventtype accured");
				}
			} else {
				bidPerMinuteEvent.setValue(bpm);
			}
			notifyManagementClients(bidPerMinuteEvent);
		}

	}