private String readHash(String hashLocation) {
		Resource resource = resolver.getResource(hashLocation);
		if (resource == null || !resource.isReadable()) {
			return null;
		}
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		try {
			FileCopyUtils.copy(resource.getInputStream(), bos);
		}
		catch (IOException e) {
			throw new RuntimeIOException("Exception while trying to read hash at " + hashLocation, e);
		}
		return bos.toString();
	}
A {@link org.springframework.xd.dirt.module.StalenessCheck} that expects to find a {@code .md5} file next to a
module archive and returns true if the computed hashes differ.

@see WritableResourceModuleRegistry
@since 1.2
@author Eric Bottard
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/module/MD5StalenessCheck.java