public RepositoryTagMap(AbstractRepository repository, String commitHash, boolean isValidate) throws IOException { _commitHash = commitHash; if (commitHash == null) throw new NullPointerException(); // force loading and validation from backend if (isValidate) repository.validateHash(commitHash); _commit = repository.readCommit(commitHash); String sequence = _commit.get("sequence"); if (sequence != null) _sequence = Long.parseLong(sequence); else _sequence = 1; _tree = repository.readTree(_commit.getTree()); _tagMap = readTagMap(repository, _tree.getHash("tags")); }