text: public override DirCache Call(){if (filepatterns.IsEmpty()){throw new NoFilepatternException(JGitText.Get().atLeastOnePatternIsRequired);}CheckCallable();DirCache dc = null;try{dc = repo.LockDirCache();DirCacheBuilder builder = dc.Builder();TreeWalk tw = new TreeWalk(repo);tw.Reset();tw.Recursive = true;tw.Filter = PathFilterGroup.CreateFromStrings(filepatterns);tw.AddTree(new DirCacheBuildIterator(builder));while (tw.Next()){FilePath path = new FilePath(repo.WorkTree, tw.PathString);FileMode mode = tw.GetFileMode(0);if (mode.GetObjectType() == Constants.OBJ_BLOB){Delete(path);}}builder.Commit();SetCallable(false);}catch (IOException e){throw new JGitInternalException(JGitText.Get().exceptionCaughtDuringExecutionOfRmCommand, e);}finally{if (dc != null){dc.Unlock();}}return dc;}