private List<T> filter(final Collection<T> collection){
  final List<T> nullFreeList=new ArrayList<T>();
  if (collection != null) {
    for (    final T item : collection) {
      if (item != null) {
        nullFreeList.add(item);
      }
    }
  }
  return nullFreeList;
}

private List < T > filter ( final Collection < T > collection ) { final List < T > nullFreeList = new ArrayList < T > ( ) ; if ( collection != null ) { for ( final T item : collection ) { if ( item != null ) { nullFreeList . add ( item ) ; } } } return nullFreeList ; }
this filtering is required , in order to ensure that no nulls are passed ( which happens when using gson for deserializing json collection .
