How to build a Lucene query using extension methods, and not have the request go out until ToList() is called.

private List GetMembers(string nickname)
{
  var query = DocumentSession.Advanced.LuceneQuery(AllMembersIndex.Name);
  // Search for nickname
  if (!nickname.IsNullOrWhiteSpace())
    query = query.Search("Nickname", nickname);
  // Execute query
  return query.ToList();
}