private int[] getTransactionDurationSegments(Transaction t) { String data = t.getData().toString(); if (data.startsWith("_m=")) { int pos = data.indexOf('&'); String str; if (pos < 0) { str = data.substring(3); } else { str = data.substring(3, pos); } List<String> parts = Splitters.by(',').split(str); int len = parts.size(); int[] segments = new int[len]; for (int i = 0; i < len; i++) { String part = parts.get(i); try { segments[i] = Integer.parseInt(part) * 1000; } catch (Exception e) { // ignore it } } return segments; } else if (data.startsWith("_u=")) { int pos = data.indexOf('&'); String str; if (pos < 0) { str = data.substring(3); } else { str = data.substring(3, pos); } List<String> parts = Splitters.by(',').split(str); int len = parts.size(); int[] segments = new int[len]; for (int i = 0; i < len; i++) { String part = parts.get(i); try { segments[i] = Integer.parseInt(part); } catch (Exception e) { // ignore it } } return segments; } else { return null; } }