vString s3 = c.isnull() ? s3def : b.mkString();
vString s3 = c.isnull() ? s3def : c.mkString();
    public vDescriptor Call(vDescriptor a, vDescriptor b, vDescriptor c) {	vString s1 = a.mkString();	vString s2 = b.isnull() ? s2def : b.mkString();	vString s3 = c.isnull() ? s3def : b.mkString();	byte b1[] = s1.getBytes();	byte b2[] = s2.getBytes();	byte b3[] = s3.getBytes();	int n = b2.length;	if (n != b3.length) {	    iRuntime.error(208);	}	if (s2 != s2prev || s3 != s3prev) {	    map = new int[(int) vCset.MAX_VALUE + 1];	    System.arraycopy(initmap, 0, map, 0, map.length);	    for (int i = 0; i < n; i++) {		map[b2[i] & 0xFF] = b3[i];	    }	    s2prev = s2;	    s3prev = s3;	}	n = b1.length;	byte[] s = new byte[n];	for (int i = 0; i < n; i++) {	    s[i] = (byte)map[b1[i] & 0xFF];	}	return vString.New(s);    }