@Override
    public void replaceArgument(Value replace, Value i, boolean throwOnError)
        throws Exception {
        boolean found = false;
        if(arg1.equals(replace)) {
            arg1 = i;
            found = true;
        }
        if(arg2.equals(replace)) {
            arg2 = i;
            found = true;
        }
        if(!found && throwOnError) {
            throw new Exception("error replacing argument, argument not present in instruction");
        }
    }