protected IEnumerable <ExchangeVirtualDirectory> GetVirtualDirectories <TExchangeVirtualDirectory>(ADObjectId serverId, QueryFilter filter) where TExchangeVirtualDirectory : ExchangeVirtualDirectory, new() { ADPagedReader <TExchangeVirtualDirectory> source = base.CasConfigurationSession.FindPaged <TExchangeVirtualDirectory>(serverId, QueryScope.SubTree, filter, null, 0); return(source.Cast <ExchangeVirtualDirectory>()); }