This has the same memory consumption as before.  A subsequent commit will leverage Guava 16 HashingInputStream to calculate the MD5 hash and store the byte array to disk for the filesystem blobstore and in-memory for transient while minimizing memory use.