var hs = new HashSet<int>();
foreach(var item in mainclass)
{
    Task<List<Class1>> cl1Task = Task.Factory.StartNew<List<Class1>>(() =>
    {
        if (!hs_VersiodIDs.Contains(item.VersionID))
        {
             return new List<Class1>(.....);
        }
        else
        {
            return null;
        }
    });
    Task.WaitAll(cl1Task );
}
タスクが完了するのを待ちません。問題は return null にあるため、空のタスクを返すにはどうすればよいですか?