@Override
    public FluentFuture<V> withFallbackValue(final V value) {
      return catching(new Function<Throwable, V>() {
        @Override
        public V apply(Throwable t) {
          return value;
        }
      });
    }
Provides default wrapping implementation of {@link FluentFuture}
mongo/src/org/immutables/mongo/concurrent/FluentFutures.java