@Override
        public Optional<T> apply(List<T> input) {
          return FluentIterable.from(input).first();
        }
Fetches first matching document. If none of the documents matches, then
{@link Optional#absent()} will be returned.
@return future of optional matching document
mongo/src/org/immutables/mongo/repository/Repositories.java