final List<TypedValue> returns = execute(args);
if (returnsCount.isPresent()) {
final Integer expectedReturns = returnsCount.get();
final int actualReturns = returns.size();
Preconditions.checkState(expectedReturns == actualReturns, "Invalid number of return values, requested %s, got %s", expectedReturns, actualReturns);
<BUG>}
for (TypedValue v : returns)
stack.push(v);</BUG>
}
protected abstract List<TypedValue> execute(List<TypedValue> args);

final List<TypedValue> returns = execute(args);
if (returnsCount.isPresent()) {
final Integer expectedReturns = returnsCount.get();
final int actualReturns = returns.size();
Preconditions.checkState(expectedReturns == actualReturns, "Invalid number of return values, requested %s, got %s", expectedReturns, actualReturns);
}
stack.pushAll(returns);
}
protected abstract List<TypedValue> execute(List<TypedValue> args);
