Source:
<code>protected void sendRetrieveRequest(URI uri, OutputStream outputStream, DownloadRange range, boolean closeStreamOnFinish, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException { IRetrieveFileTransferFactory factory = Activator.getDefault().getRetrieveFileTransferFactory(); if (factory == null) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } IRetrieveFileTransferContainerAdapter adapter = factory.newInstance(); adapter.setConnectContextForAuthentication(connectContext); this.exception = null; this.closeStreamWhenFinished = closeStreamOnFinish; this.fileInfo = null; this.statistics = null; this.lastProgressCount = 0L; this.lastStatsCount = 0L; this.theMonitor = monitor; this.monitorStarted = false; this.theOutputStream = outputStream; this.requestUri = uri; for (int retryCount = 0;; retryCount++) { if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException(); try { IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getRetrieveNamespace(), uri.toString()); Map<String, Map<String, String>> options = userAgentWithoutUUIDOptions; if <START> (uri.getHost().endsWith(".eclipse.org")) <END> options = userAgentOptions; if (range != null) { adapter.sendRetrieveRequest(fileID, range, this, options); } else { adapter.sendRetrieveRequest(fileID, this, options); } } catch (IncomingFileTransferException e) { exception = e; } catch (FileCreateException e) { exception = e; } catch (Throwable t) { if (exception != null) exception.printStackTrace(); } if (checkException(uri, retryCount)) break; } }</code><technical_language>Host null</technical_language>

Target:
protected void sendRetrieveRequest(URI uri, OutputStream outputStream, DownloadRange range, boolean closeStreamOnFinish, IProgressMonitor monitor) throws CoreException, FileNotFoundException, AuthenticationFailedException, JREHttpClientRequiredException { IRetrieveFileTransferFactory factory = Activator.getDefault().getRetrieveFileTransferFactory(); if (factory == null) { throw RepositoryStatusHelper.fromMessage(Messages.ecf_configuration_error); } IRetrieveFileTransferContainerAdapter adapter = factory.newInstance(); adapter.setConnectContextForAuthentication(connectContext); this.exception = null; this.closeStreamWhenFinished = closeStreamOnFinish; this.fileInfo = null; this.statistics = null; this.lastProgressCount = 0L; this.lastStatsCount = 0L; this.theMonitor = monitor; this.monitorStarted = false; this.theOutputStream = outputStream; this.requestUri = uri; for (int retryCount = 0;; retryCount++) { if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException(); try { IFileID fileID = FileIDFactory.getDefault().createFileID(adapter.getRetrieveNamespace(), uri.toString()); Map<String, Map<String, String>> options = userAgentWithoutUUIDOptions; if (uri.getHost() != null && uri.getHost().endsWith(".eclipse.org")) options = userAgentOptions; if (range != null) { adapter.sendRetrieveRequest(fileID, range, this, options); } else { adapter.sendRetrieveRequest(fileID, this, options); } } catch (IncomingFileTransferException e) { exception = e; } catch (FileCreateException e) { exception = e; } catch (Throwable t) { if (exception != null) exception.printStackTrace(); } if (checkException(uri, retryCount)) break; } }