boolean includeMillis = beginString.compareTo(FixVersions.BEGINSTRING_FIX42) >= 0;
boolean includeMillis = beginString.compareTo(FixVersions.BEGINSTRING_FIX41) >= 0;
    private String insertTimes(String message) {        Matcher matcher = TIME_PATTERN.matcher(message);        while (matcher.find()) {            long offset = 0;            if (matcher.group(2) != null) {                offset = Long.parseLong(matcher.group(2)) * 1000L;                if (matcher.group(2).equals("-")) {                    offset *= -1;                }            }            String beginString = message.substring(2, 9);            boolean includeMillis = beginString.compareTo(FixVersions.BEGINSTRING_FIX42) >= 0;            message = matcher.replaceFirst(FieldValueConverter.UtcTimestampConverter                    .convert(new Date(System.currentTimeMillis()+(offset*1000)), includeMillis));            matcher = TIME_PATTERN.matcher(message);        }        return message;    }