public virtual void Start()
{
if(commandHandler == null)
{
throw new InvalidOperationException("command cannot be null when Start is called.");
}
if(exceptionHandler == null)
{
throw new InvalidOperationException("exception cannot be null when Start is called.");
}
this.next.Start();
}