public static String backTrack(DLNAResource start, int stop) { if (start == null) return null; if (Channels.save()) // compensate for save start = start.getParent(); if (stop == 0) return start.getName(); int i = 0; DLNAResource curr = start; while (i < stop) { curr = curr.getParent(); i++; if (curr instanceof Channel) { curr = null; break; } } if (curr != null) return curr.getName(); return null; }