o mutators on Artifact return new instances so the setFile(file) operation is not populating the file on the existing artifact but returning a new one which is a copy with the file populated. in this use the artifact is being returned without the file set causing an NPE in the caller.
Merge pull request #5 from jvanzyl/master

Correction to have the artifact file populated in the returning call