content: public class Solution {
      public List < List < String >> findDuplicate(String[] paths) {
          List < String[] > list = new ArrayList < > ();
          for (String path: paths) {
              String[] values = path.split(" ");
              for (int i = 1; i < values.length; i++) {
                  String[] name_cont = values[i].split("\\(");
                  name_cont[1] = name_cont[1].replace(")", "");
                  list.add(new String[] {
                      values[0] + "/" + name_cont[0], name_cont[1]
                  });
              }
          }
          boolean[] visited = new boolean[list.size()];
          List < List < String >> res = new ArrayList < > ();
          for (int i = 0; i < list.size() - 1; i++) {
              if (visited[i])
                  continue;
              List < String > l = new ArrayList < > ();
              for (int j = i + 1; j < list.size(); j++) {
                  if (list.get(i)[1].equals(list.get(j)[1])) {
                      l.add(list.get(j)[0]);
                      visited[j] = true;
                  }
              }
              if (l.size() > 0) {
                  l.add(list.get(i)[0]);
                  res.add(l);
              }
          }
          return res;
      }
  }
  