static internal bool TryRefineInternal(APC pc, BoxedExpression goal, bool tryRefineToMethodEntry, IMethodDriver <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable, LogOptions> mdriver, out BoxedExpression result)
            {
                var refiner = new Refiner(pc, mdriver);

                var visitDept = 0;

                bool isVisitAborted;

                result = refiner.Refine(pc, goal, tryRefineToMethodEntry, ref visitDept, out isVisitAborted);

                Log("Result of the refinement {0}", result != null ? result.ToString() : "<null>");

                return(result != null);
            }