Hello Juraj, can you explain the rationale for the changes in MulticastDelegate, for example, why not return this.Clone () instead of the new construct new Delegate [1] { this }? Also, should we not be checking prev/next in the method? Miguel.