+anonymous method, but we don't know whether it needs to capture local
+variable or access this pointer.
+
+Because Test() is a generic method, it complicates things further
+as we may need to create generic type container and transform all method
+type parameters into class type parameters to keep method signature
+compatible with requested delegate signature.
+
+One key feature of the new code is using minimal possible anonymous
+method overhead. Based on whether an anonymous method needs access to
+this pointer or has access to local variables from outher scope new
+TypeContainer (anonymous method storey) is created. We may end up with
+up to 3 scenarios.
+
+1. No access to local variable or this
+
+ Anonymous method is emitted in a compiler generated static method
+inside same class as current block.