code: public static synchronized ClassLister getSingleton(ClassTraversal traversal) {
      Class<? extends ClassTraversal>	cls;
  
      cls = (traversal == null) ? null : traversal.getClass();
      if (m_Singleton == null)
        m_Singleton = new HashMap<>();
      if (!m_Singleton.containsKey(cls))
        m_Singleton.put(cls, new ClassLister(traversal));
  
      return m_Singleton.get(cls);
    }
docs: Returns the singleton instance of the class lister.
  
  @param traversal	the class traversal to use, can be null for default one
  @return		the singleton