public static bool has_MappedIMethod(this O2MethodStream o2MethodStream, IMethod iMethod)
 {
     if (iMethod != null)
     {
         return(o2MethodStream.has_MappedIMethod(iMethod.fullName()));
     }
     return(false);
 }
        public static O2MethodStream add_MappedIMethod(this O2MethodStream o2MethodStream, IMethod iMethod)
        {
            if (iMethod != null)
            {
                var fullName = iMethod.fullName();
                // add IMethod
                if (o2MethodStream.has_MappedIMethod(fullName).isFalse())
                {
                    "adding MappedIMethod:{0}".format(fullName).info();
                    o2MethodStream.MappedIMethods.add(fullName, iMethod);

                    // remove from ExternalIMethod list (if there)
                    if (o2MethodStream.has_ExternalIMethod(fullName))
                    {
                        o2MethodStream.ExternalIMethods.Remove(fullName);
                    }
                    // map its dependencies
                    o2MethodStream.map_IMethod_Dependencies(iMethod);
                }
            }
            return(o2MethodStream);
        }