private Integer computeOffset(String zoneString)
private Integer computeOffset(String zoneString, ParsePosition pos)
  private Integer computeOffset(String zoneString)  {    Pattern pattern =      Pattern.compile("(GMT)?([+-])([012])?([0-9]):?([0-9]{2})");    Matcher matcher = pattern.matcher(zoneString);    if (matcher.matches())      {	int sign = matcher.group(2).equals("+") ? 1 : -1;	int hour = (Integer.parseInt(matcher.group(3)) * 10)	  + Integer.parseInt(matcher.group(4));	int minutes = Integer.parseInt(matcher.group(5));	if (hour > 23)	  return null;	int offset = sign * ((hour * 60) + minutes) * 60000;	return new Integer(offset);      }    else if (zoneString.startsWith("GMT"))      {	return new Integer(0);      }    return null;  }