@Override
  public PagedSocialQuery getEventTimeline(
      SocialAdapter adapter,
      SocialPaged socialPaged,
      Map commandsMap,
      SocialPredicate<SocialActivitiesEvent> predicate) {

    socialPaged = setupQueryDirection(socialPaged);

    List<SocialActivitiesEvent> typeEvents = new ArrayList<SocialActivitiesEvent>();

    if (socialPaged.isANewQuery()) {
      socialPaged =
          searchForRecentEvents(adapter.socialEventType(), socialPaged, typeEvents, predicate);
    }
    if (!foundEnoughtEvents(socialPaged, typeEvents)) {
      socialPaged =
          searchForStoredEvents(adapter.socialEventType(), socialPaged, typeEvents, predicate);
    }

    typeEvents = filterTimelineWithAdapters(commandsMap, typeEvents);

    checkIfICanGoForward(socialPaged, typeEvents);

    PagedSocialQuery query = new PagedSocialQuery(typeEvents, socialPaged);

    return query;
  }
 @PostConstruct
 public void setup() {
   for (SocialAdapter bean : services) {
     socialAdapters.put(bean.eventToIntercept(), bean);
   }
 }