public static O2MethodStream resolveInterfaceCalls(this O2MethodStream methodStream)
        {
            var methodsToMap = methodStream.MappedIMethods.Values.ToArray();

            foreach (var interfaceMethod in methodsToMap)
            {
                methodStream.resolveInterfaceCalls(interfaceMethod);
            }
            return(methodStream);
        }
        public static O2MethodStream createO2MethodStream(this O2MappedAstData o2MappedAstData, IMethod iMethod, bool mapInterfacesCalls)
        {
            var o2MethodStream = new O2MethodStream(o2MappedAstData);

            o2MethodStream.add_IMethod(iMethod);
            if (mapInterfacesCalls)
            {
                o2MethodStream.resolveInterfaceCalls();
            }
            //add to O2MethodStreamCache
            O2MethodStreamCache.add(iMethod, o2MethodStream);

            return(o2MethodStream);
        }