* - for all contexts, the analysis result is the same.
*/
public static <A extends AbstractValue<A>, S extends Store<S>,
T extends TransferFunction<A, S>> Result<A, S, T>
methodDataflow(TreePath methodPath, Context context, T transfer) {
final Tree leaf = methodPath.getLeaf();
Preconditions.checkArgument(leaf instanceof MethodTree,
"Leaf of methodPath must be of type MethodTree, but was %s", leaf.getClass().getName());
final MethodTree method = (MethodTree) leaf;
Preconditions.checkNotNull(method.getBody(),
"Method to analyze must have a body. Method passed in: %s() in file %s",
method.getName(),