code: private void loadTables() {
          ApplicationDefinition appDef = m_session.getAppDef();
          m_tableNameList = new ArrayList<String>(appDef.getTableDefinitions().keySet());
          Collections.sort(m_tableNameList, new Comparator<String>() {
              @Override
              public int compare(String s1, String s2) {
                  // We want longer table names to be first. So, if s1 == "a" and s2 == "aa",
                  // "a".length() - "aa".length() == -1, which means "aa" appears first. We
                  // don't care about the order of same-length names.
                  return s2.length() - s1.length();
              }   // compare
          });
      }
docs: ordering to match CSV file names correctly.