Como fazer o FileSystemView excluir a Unidade de CD/DVD

Olá a todos! Trago hoje o seguinte código:

public class JsonDISKBuilder {
	public JsonDISKMessage buildMessage(File[] files) {
		JsonDISKMessage diskmessage = new JsonDISKMessage();
		vetordisk[] testes = new vetordisk[files.length];
	
		
		for (int i = 0; i < files.length; i++) {

			
if (files[i] != null) {
					testes[i] = new vetordisk();
					testes[i].setEspacoT(Conversor.getUnidades(files[i].getTotalSpace())); //Pega o total space já convertido
					testes[i].setEspacoU(Conversor.getUnidades(files[i].getUsableSpace())); //Pega o espaco usavel já convertido
					testes[i].setParticao(files[i].toString()); //Pega o nome da partição
					testes[i].setSistema(System.getProperty("os.name")); //Pega o sistema operacional
					testes[i].setTipodeparticao(FileSystemView.getFileSystemView().getSystemTypeDescription(files[i])); // Pega o TIPO da unidade
					testes[i].setPorcentagem(String.format("%.2f", CalculadorDePorcentagem.calcular(files[i].getTotalSpace() - files[i].getUsableSpace(), files[i].getTotalSpace()))+ "%"); // Exibe a porcentagem de uso
				
		}
		}

		diskmessage.setTest(testes);

		return diskmessage;
	}

}

Preciso de ajuda com a lógica dele!
A unidade de CD/DVD não deve ser exibida e, caso o Sistema Operacional seja Linux, ele não deverá exibir o tipo da partição (pois, no Linux, isso sempre será null). Embora o segundo pareça simples, meu Json mostra o tipo mesmo que o sistema seja Linux.

Agradeço a todos que puderem me ajudar :slight_smile:

LinkedList<vetordisk> listaDeParticao = new LinkedList<>();

		for (int i = 0; i < files.length; i++) {

			if (files[i] != null) {
				boolean executavel = true;
				FileSystemView fileSystemView = FileSystemView.getFileSystemView();
				String descricao = fileSystemView.getSystemTypeDescription(files[i]);
				if (descricao != null) {
					if (descricao.contains("CD")) {
						executavel = false;
					}
				}
				if (executavel) {
					vetordisk vetordisk = new vetordisk();
					vetordisk.setEspacoT(Conversor.getUnidades(files[i].getTotalSpace()));
					vetordisk.setEspacoU(Conversor.getUnidades(files[i].getUsableSpace()));
					vetordisk.setParticao(files[i].toString());
					vetordisk.setSistema(System.getProperty("os.name"));
					vetordisk.setPorcentagem(String
							.format("%.2f", CalculadorDePorcentagem.calcular(
									files[i].getTotalSpace() - files[i].getUsableSpace(), files[i].getTotalSpace()))
							+ "%");
					vetordisk.setTipodeparticao(FileSystemView.getFileSystemView().getSystemTypeDescription(files[i]));
					listaDeParticao.add(vetordisk);

				}
			}
		}

		 diskmessage.setTest(listaDeParticao.toArray(new vetordisk[listaDeParticao.size()]));

		return diskmessage;
	}