private static StringBuilder sha1(/* @WillClose */final ReadableByteChannel src) throws IOException {
try {
final Pool pool = Resources.getPoolHandle();
final ByteBuffer buf = pool.aquireBuffer();
try {
final MessageDigest digest = pool.aquireDigest();
try {
int cnt = 0;
while (cnt >= 0) {
cnt = src.read(buf);
buf.flip();