@Override public Collection<UserSessionEntity> loadUserSessionEntities(Filter filter) { Preconditions.checkNotNullArgument(filter, "filter is null"); return userSessions.getUserSessionEntitiesStream() .filter(e -> { if (filter == Filter.ALL) return true; boolean result = true; if (!Strings.isNullOrEmpty(filter.getUserLogin())) { result = testString(e.getLogin(), filter.getUserLogin(), filter.isStrict()); } if (!Strings.isNullOrEmpty(filter.getUserName())) { result = result && testString(e.getUserName(), filter.getUserName(), filter.isStrict()); } if (!Strings.isNullOrEmpty(filter.getAddress())) { result = result && testString(e.getAddress(), filter.getAddress(), filter.isStrict()); } if (!Strings.isNullOrEmpty(filter.getClientInfo())) { result = result && testString(e.getClientInfo(), filter.getClientInfo(), filter.isStrict()); } return result; }) .collect(Collectors.toList()); }