### Question:
RadlNature implements IProjectNature { @Override public void deconfigure() throws CoreException { IProjectDescription description = getProject().getDescription(); ICommand[] commands = description.getBuildSpec(); for (int i = 0; i < commands.length; ++i) { if (RadlBuilder.BUILDER_ID.equals(commands[i].getBuilderName())) { ICommand[] newCommands = new ICommand[commands.length - 1]; System.arraycopy(commands, 0, newCommands, 0, i); System.arraycopy(commands, i + 1, newCommands, i, commands.length - i - 1); description.setBuildSpec(newCommands); getProject().setDescription(description, null); return; } } }  @Override void configure(); @Override void deconfigure(); @Override IProject getProject(); @Override void setProject(IProject project); static final String NATURE_ID; }### Answer:
@Test public void deconfigureRemovesBuilderWhenPresent() throws CoreException { ICommand command = new Command(); command.setBuilderName(RadlBuilder.BUILDER_ID); commands.add(command); init(); nature.deconfigure(); assertBuilder(false); }