I noticed that I can only use ApplyTo once. The second time it throws NotSupportedException("Cannot apply more than once"); I can't see why that restriction is enforced. Who cares if you apply it more than once? It looks like it will work just fine...