public IList<ParameterPurpose> GetParameterPurposes(MethodReference method)
 {
     var reducedMethod = method.ReduceToShortestOverload();
     var list = new List<ParameterPurpose>();
     for (var i = 0; i < method.Parameters.Count; i++)
     {
         if (i < reducedMethod.Parameters.Count)
             list.Add(DeduceParameterPurpose(reducedMethod, i));
         else
             list.Add(ParameterPurpose.MetaData);
     }
     return list;
 }
 private static bool IsSingleTruthCheckingMethod(MethodReference method, List<ArgumentDetails> arguments)
 {
     var reduced = method.ReduceToShortestOverload();
     return reduced.Parameters.Count == 1 && method.Parameters[0].ParameterType.FullName == "System.Boolean" &&
            arguments[0].Purpose == ParameterPurpose.Actual;
 }