code: public List<String> listClasses() throws WMIException {
  		List<String> wmiClasses = new ArrayList<String>();
  		String rawData;
  		try {
  			rawData = getWMIStub().listClasses(this.namespace, this.computerName);
  
  			String[] dataStringLines = rawData.split(NEWLINE_REGEX);
  
  			for (String line : dataStringLines) {
  				if (!line.isEmpty() && !line.startsWith("_")) {
  					String[] infos = line.split(SPACE_REGEX);
  					wmiClasses.addAll(Arrays.asList(infos));
  				}
  			}
  
  			// Normalize results: remove duplicates and sort the list
  			Set<String> hs = new HashSet<String>();
  			hs.addAll(wmiClasses);
  			wmiClasses.clear();
  			wmiClasses.addAll(hs);
  
  		} catch (Exception ex) {
  			Logger.getLogger(WMI4Java.class.getName()).log(Level.SEVERE, GENERIC_ERROR_MSG, ex);
  			throw new WMIException(ex);
  		}
  
  		return wmiClasses;
  	}
docs: Query and list the WMI classes
  
  @see <a href=
  "https://msdn.microsoft.com/fr-fr/library/windows/desktop/aa394554(v=vs.85).aspx">WMI
  Classes - MSDN</a>
  @return a list with the name of existing classes in the system