public File LookupFile(int fd) { Contract.Ensures(Contract.Result <File>() == null || IsValidFd(fd)); Contract.Ensures(Contract.Result <File>() == null || Contract.Result <File>().GhostOwner == this); var file = Files.Lookup(fd); if (file == null) { return(null); } Contract.Assume(Files.IsValidFd(fd)); Contract.Assert(file.GhostOwner == this); return(file); }