DoSFilter automatically removes RateTracker entries that belong to type USER_IP or USER_SESSION, but not the other types.
DoSFilter also needs a code review because for example exposes RateTracker as a return type of a public method, but RateTracker is package private and so it's not possible to override the method.