@Override
 public void registerLoginFailure(final String userUid, final int count1) {
   if (StringUtils.isNotEmpty(userUid)) {
     final LoginFailure count = get(prepareUserUid(userUid), Integer.valueOf(0));
     count.setCounter(count1);
     count.setDate(new Date());
     bruteForceAttackCache.put(prepareUserUid(userUid), count);
   }
 }
 protected void evict() {
   if (bruteForceAttackCache.size() > cacheSizeLimit) {
     final Iterator<String> cacheIterator = bruteForceAttackCache.keySet().iterator();
     final Date dateLimit = DateUtils.addMinutes(new Date(), 0 - cacheExpiration);
     while (cacheIterator.hasNext()) {
       final String userKey = cacheIterator.next();
       final LoginFailure value = bruteForceAttackCache.get(userKey);
       if (value.getDate().before(dateLimit)) {
         bruteForceAttackCache.remove(userKey);
       }
     }
   }
 }