try {
final Resource res = imgRef.eResource();
final ByteBuffer buffer = ByteBuffer.allocateDirect((16 * 1024));
final URI uri = res.getURI();
ResourceSet _resourceSet = res.getResourceSet();
final URIConverter uriConverter = _resourceSet.getURIConverter();
File _file = new File("");
String _absolutePath = _file.getAbsolutePath();
String _plus = (_absolutePath + "/");
final URI absoluteLocalPath = URI.createFileURI(_plus);
String _path = imgRef.getPath();
final URI relativeImageURI = URI.createFileURI(_path);
URI _resolve = relativeImageURI.resolve(uri);
final URI inPath = _resolve.deresolve(absoluteLocalPath);
List<String> _segmentsList = inPath.segmentsList();
int _segmentCount = inPath.segmentCount();
final List<String> inSegments = _segmentsList.subList(1, _segmentCount);
final String pathInDocument = IterableExtensions.join(inSegments, "/");
Object _get = this.config.get(Config.outletPath);
String _string = _get.toString();
String _plus_1 = (_string + "/");
String _plus_2 = (_plus_1 + pathInDocument);
final URI outPath = URI.createFileURI(_plus_2);
InputStream _createInputStream = uriConverter.createInputStream(inPath);
final ReadableByteChannel inChannel = Channels.newChannel(_createInputStream);
ResourceSet _resourceSet_1 = res.getResourceSet();
URIConverter _uRIConverter = _resourceSet_1.getURIConverter();
OutputStream _createOutputStream = _uRIConverter.createOutputStream(outPath);
final WritableByteChannel outChannel = Channels.newChannel(_createOutputStream);
while ((new Function0<Integer>() {
public Integer apply() {
try {
int _read = inChannel.read(buffer);