private static CallGraph<MethodDescriptor, LocationDescriptor> ReBuildCallGraph(Dispatcher dispatcher, Solution solution)
        {
            var callgraph = new CallGraph<MethodDescriptor, LocationDescriptor>();
            // pg.PropagateDeletionOfNodes();
            foreach (var e in dispatcher.GetAllEntites())
            {
                var entityProcessor = new MethodEntityProcessor((MethodEntity)e, dispatcher);// e.GetEntityProcessor(dispatcher);
                var methodEntity = (MethodEntity)entityProcessor.Entity;
                if (methodEntity.MethodDescriptor.ToString().Contains("Main"))
                {
                    callgraph.AddRootMethod(methodEntity.MethodDescriptor);
                }
                // Updates the callGraph
                UpdateCallGraph(entityProcessor, callgraph, solution);
            }
            //callgraph.Save("cg_d.dot");

            return callgraph;
        }
		public void AnalyzeWithoutAppSettings(Dispatcher dispatcher = null)
        {
            if (dispatcher == null)
            {
                this.Dispatcher = new OnDemandSyncDispatcher();
            }
            AnalyzeOnDemand();
        }