code: private int parseOffsetLocalizedGMTPattern(String text, int start, boolean isShort, int[] parsedLen) {
          int idx = start;
          int offset = 0;
          boolean parsed = false;
  
          do {
              // Prefix part
              int len = _gmtPatternPrefix.length();
              if (len > 0 && !text.regionMatches(true, idx, _gmtPatternPrefix, 0, len)) {
                  // prefix match failed
                  break;
              }
              idx += len;
  
              // Offset part
              int[] offsetLen = new int[1];
              offset = parseOffsetFields(text, idx, false, offsetLen);
              if (offsetLen[0] == 0) {
                  // offset field match failed
                  break;
              }
              idx += offsetLen[0];
  
              // Suffix part
              len = _gmtPatternSuffix.length();
              if (len > 0 && !text.regionMatches(true, idx, _gmtPatternSuffix, 0, len)) {
                  // no suffix match
                  break;
              }
              idx += len;
              parsed = true;
          } while (false);
  
          parsedLen[0] = parsed ? idx - start : 0;
          return offset;
      }
docs: Parse localized GMT format generated by the pattern used by this formatter, except
  GMT Zero format.
  @param text the input text
  @param start the start index
  @param isShort true if the short localized GMT format is parsed.
  @param parsedLen the parsed length, or 0 on failure.
  @return the parsed offset in milliseconds.