@Override
    public FileAttributes getAttributes(@NotNull String pathStr) {
      if (SystemInfo.isWindows && pathStr.length() == 2 && pathStr.charAt(1) == ':') {
        LOG.error("Incomplete Windows path: " + pathStr);
        pathStr += '\\';
      }
      try {
        Path path = Paths.get(pathStr);
        BasicFileAttributes attributes = NioFiles.readAttributes(path);
        return attributes == NioFiles.BROKEN_SYMLINK ? FileAttributes.BROKEN_SYMLINK : FileAttributes.fromNio(path, attributes);
      }
      catch (NoSuchFileException e) {
        LOG.trace(e.getClass().getName() + ": " + pathStr);
        return null;
      }
      catch (IOException | InvalidPathException e) {
        LOG.debug(pathStr, e);
        return null;
      }
    }
@Override
    public FileAttributes getAttributes(@NotNull String pathStr)