public List<String> call() throws GitAPIException {checkCallable();List<String> result = new ArrayList<>();if (tags.isEmpty())return result;try {setCallable(false);for (String tagName : tags) {if (tagName == null)continue;Ref currentRef = repo.findRef(tagName);if (currentRef == null)continue;String fullName = currentRef.getName();RefUpdate update = repo.updateRef(fullName);update.setForceUpdate(true);Result deleteResult = update.delete();boolean ok = true;switch (deleteResult) {case IO_FAILURE:case LOCK_FAILURE:case REJECTED:ok = false;break;default:break;}if (ok) {result.add(fullName);} elsethrow new JGitInternalException(MessageFormat.format(JGitText.get().deleteTagUnexpectedResult,deleteResult.name()));}return result;} catch (IOException ioe) {throw new JGitInternalException(ioe.getMessage(), ioe);}}

public override IList<string> Call(){CheckCallable();IList<string> result = new AList<string>();if (tags.IsEmpty()){return result;}try{SetCallable(false);foreach (string tagName in tags){if (tagName == null){continue;}Ref currentRef = repo.GetRef(tagName);if (currentRef == null){continue;}string fullName = currentRef.GetName();RefUpdate update = repo.UpdateRef(fullName);update.SetForceUpdate(true);RefUpdate.Result deleteResult = update.Delete();bool ok = true;switch (deleteResult){case RefUpdate.Result.IO_FAILURE:case RefUpdate.Result.LOCK_FAILURE:case RefUpdate.Result.REJECTED:{ok = false;break;}default:{break;break;}}if (ok){result.AddItem(fullName);}else{throw new JGitInternalException(MessageFormat.Format(JGitText.Get().deleteTagUnexpectedResult, deleteResult.ToString()));}}return result;}catch (IOException ioe){throw new JGitInternalException(ioe.Message, ioe);}}
