protected String buildMessage(Method method, Object[] args, long timeNanoSec) { String res = null; { StringBuilder sb = new StringBuilder(); { sb.append("Object: \""); sb.append(resource.getClass().getSimpleName()); sb.append("\n"); sb.append("Method: \""); sb.append(method.toString()); sb.append("\n"); String time = null; if (timeNanoSec < 1000L * 1000L) // if time is less than one millisecond... { time = timeNanoSec + " ns"; } else { if (timeNanoSec < 1000L * 1000L * 1000L) // if time is less than one second... { double timeMilliSec = ((double) timeNanoSec + 500L * 1000L) / (1000L * 1000L); String v = f.format(timeMilliSec); time = v + ". ms"; } else { double timeSec = ((double) timeNanoSec + 500L * 1000L * 1000L) / (1000L * 1000L * 1000L); String v = f.format(timeSec); time = v + ". s"; } } sb.append("Time: "); sb.append(time); } res = sb.toString(); } return res; }