@Override public void eventFired(OrderEvent event) { if (event instanceof OrderFillEvent) { OrderFillEvent ofe = (OrderFillEvent) event; if(ofe.getFillAmount()!=0.0)fillEvents.add(ofe); trackFill(ofe.getOptionalInstId(), ofe.getTimeStamp(), ofe.getFillAmount() * (ofe.getSide().equals(OrderSide.BUY) ? 1.0 : -1.0), ofe.getFillPrice()); countFill(ofe.getOptionalInstId()); } else if (event instanceof OrderCancelledEvent) { countCancellation(((OrderCancelledEvent) event).getOptionalInstId()); } else if (event instanceof OrderAcceptedEvent) { countAccepted(((OrderAcceptedEvent) event).getOptionalInstId()); } if(feeCalculator != null) feeCalculator.track(event); }