static Image decode(vWindow win, vString s) {
public static Image decode(vWindow win, vString s) {
static Image decode(vWindow win, vString s) {    byte[] data = s.getBytes();    int width = 0;    int i = 0;    int c;    try {	while (data[i] == ' ') {		// skip spaces	    i++;	}	while ((c = data[i]) >= '0' && c <= '9') {	    width = 10 * width + (c - '0');	// read width	    i++;	}	while (data[i] == ' ') {		// skip spaces	    i++;	}	if (data[i++] != ',' || width <= 0) {	// skip comma	    return null; /*FAIL*/	}	while (data[i] == ' ') {		// skip spaces	    i++;	}	if (i >= data.length) {	    return null; /*FAIL*/	}	if (data[i] == '#' || data[i] == '~') {	    return heximage(win, width, s, i);		// bilevel image	} else {	    return palimage(win, width, s, i);		// palette image	}        } catch (ArrayIndexOutOfBoundsException e) {	return null;					// malformed spec    }}