リアルにめも

public String hoge() {
	...
	return getString();
}

private String getString() {
	...
	return "hogehoge";
}

private static <T> T check(T o) {
	if (o == null) {
		throw new NullPointerException();
	}
	return o;
}
// manipulate
when
	return $a
then
	$a := invoke(#check($a))->inline()
// S as {@link #getString()}.returnType

S check;
// check(getString())
{
	S check_1 = getString();
	if (check_1 == null) {
		throw new NullPointerException();
	}
	check = check_1;
}
return check;
// S was resolved as java.lang.String()

String check;
// check(getString())
{
	String check_1 = getString();
	if (check_1 == null) {
		throw new NullPointerException();
	}
	check = check_1;
}
return check;