ChildInfo (NewVirtualFileSystem fs, FakeVirtualFile child, FileAttributes attributes, boolean canonicalize) { var t = System.nanoTime(); String name = canonicalize ? fs.getCanonicallyCasedName(child) : child.getName(); boolean isEmptyDir = attributes.isDirectory() && !fs.hasChildren(child); String symlinkTarget = attributes.isSymLink() ? fs.resolveSymLink(child) : null; myIoTime.addAndGet(System.nanoTime() - t); int nameId = myPersistencePeer.getNameId(name); return new ChildInfoImpl(nameId, attributes, isEmptyDir ? ChildInfo.EMPTY_ARRAY : null, symlinkTarget); }