code: private static S3Object getObjectForKey(Key k, long offset, long length) throws IOException {
      String[] bk = decodeKey(k);
      GetObjectRequest r = new GetObjectRequest(bk[0], bk[1]);
      r.setRange(offset, offset + length - 1); // Range is *inclusive* according to docs???
      return getClient().getObject(r);
    }
docs: Gets the S3 object associated with the key that can read length bytes from offset