Why the task body() inside sequence is of type virtual?

In reply to sriram.seshagiri:

Once virtual, always virtual.

The rule is once a method is marked virtual, it is always virtual in all derived classes. The virtual keyword becomes optional. A very confusing feature.