public String getValue(ITreeNode node, int column) { if (node.value() instanceof Profile) { switch (column) { case 0: return ((Profile) node.value()).getThreadName(); default: return ""; } } if (node.value() instanceof MethodStats) { switch (column) { case 0: final MethodIdentifier id = resolver.getRawMethodName(((MethodStats) node.value())); return id == null ? "<unknown method>" : id.toString(); case 1: return "" + ((MethodStats) node.value()).getInvocationCount(); case 2: return format(((MethodStats) node.value()).getTotalTimeMillis()); case 3: final double percentageOfParentTime = 100 * ((MethodStats) node.value()).getPercentageOfParentTime(); return format(percentageOfParentTime); case 4: return format(((MethodStats) node.value()).getOwnTimeMillis()); default: } } return ""; }