public void animateThenRemove(MarkerWithPosition marker,LatLng from,LatLng to){
  lock.lock();
  AnimationTask animationTask=new AnimationTask(marker,from,to);
  animationTask.removeOnAnimationComplete(mClusterManager.getMarkerManager());
  mAnimationTasks.add(animationTask);
  lock.unlock();
}

public void animateThenRemove ( MarkerWithPosition marker , LatLng from , LatLng to ) { lock . lock ( ) ; AnimationTask animationTask = new AnimationTask ( marker , from , to ) ; animationTask . removeOnAnimationComplete ( mClusterManager . getMarkerManager ( ) ) ; mAnimationTasks . add ( animationTask ) ; lock . unlock ( ) ; }
animates a markerwithposition some time in the future , and removes it when the animation is complete .
