@Override
  public void addResult(String gridId, T result) {
    List<IGridResults<ResultItem<Object>>> allList =
        (List<IGridResults<ResultItem<Object>>>) result;

    for (IGridResults<ResultItem<Object>> gridResults : allList) {
      if (gridResults == null) {
        continue;
      }
      List list = gridResults.getAggregatedSortedResults();
      if (list == null) {
        return;
      }
      List<Object> resultList = new ArrayList<Object>(list.size());

      if (list != null && list.size() > 0) {
        for (ResultItem resultItem : (List<ResultItem>) list) {
          resultList.add(((ValueInfo) resultItem.getItem()).getValue());
        }
      }
      results.setTotalSize(gridResults.getTotalServerResults());
      results.setValueResultList(resultList);
    }
  }
 @Override
 public void clearResults() {
   results.clear();
 }
 @Override
 public synchronized void endResults() {
   results.commit();
   notifyAll();
 }