fix BASE-37 use FileObjects instead of String arguments, also use
StreamUtils instead to copy content instead of the expensive method to
read all bytes into memory first.
Add javadoc