* assignable it is copied to the target local. If it is not assignable a
* {@link ClassCastException} is thrown.
*/
public void cast(Local<?> target, Local<?> source) {
if (source.getType().ropType.isReference()) {
addInstruction(new ThrowingCstInsn(Rops.CHECK_CAST, sourcePosition,
RegisterSpecList.make(source.spec()), catches, target.type.constant));
moveResult(target, true);
} else {
addInstruction(new PlainInsn(getCastRop(source.type.ropType, target.type.ropType),
sourcePosition, target.spec(), source.spec()));