code: @Override
      public void delete(final Path path) throws IOException {
  
          assert path != null : "Path must be specified";
          final Archive<?> archive = this.getArchive(path);
          final String pathString = path.toString();
          if (!archive.contains(pathString)) {
              throw new NoSuchFileException(path + " does not exist in " + archive);
          }
          final boolean isDirectory = archive.get(pathString).getAsset() == null;
  
          // Directory?
          if (isDirectory) {
              // Check empty?
              if (!archive.getContent(new org.jboss.shrinkwrap.api.Filter<ArchivePath>() {
                  @Override
                  public boolean include(final ArchivePath path) {
                      final String filterPathString = path.get();
                      return filterPathString.startsWith(pathString) && !filterPathString.equals(pathString);
                  }
              }).isEmpty()) {
                  throw new DirectoryNotEmptyException(pathString);
              }
          }
          archive.delete(pathString);
          if (log.isLoggable(Level.FINEST)) {
              log.finest("Deleted " + path.toString() + " from " + archive.toString());
          }
      }
docs: {@inheritDoc}
  
  @see java.nio.file.spi.FileSystemProvider#delete(java.nio.file.Path)