code: @Override
      public void createDirectory(final Path dir, final FileAttribute<?>... attrs) throws IOException {
          final Archive<?> archive = this.getArchive(dir);
          final ArchivePath parent = ArchivePaths.create(dir.toString()).getParent();
          if (parent != null && !archive.contains(parent)) {
              // IOException? Despite being a stupid choice for this, it's what the NIO.2 API uses.
              throw new IOException("Cannot recursively create parent directories for: " + dir
                  + "; instead invoke \"createDirectories\"");
          }
          archive.addAsDirectories(dir.toString());
          if (log.isLoggable(Level.FINEST)) {
              log.finest("Created directory " + dir.toString() + " on " + archive.toString());
          }
      }
docs: {@inheritDoc}
  
  @see java.nio.file.spi.FileSystemProvider#createDirectory(java.nio.file.Path,
  java.nio.file.attribute.FileAttribute<?>[])