private RemoteNetworkRepositoryConfigModel createNetworkConfig(HttpRepoDescriptor descriptor) {
   RemoteNetworkRepositoryConfigModel networkModel = new RemoteNetworkRepositoryConfigModel();
   if (descriptor.getProxy() != null) {
     networkModel.setProxy(descriptor.getProxy().getKey());
   }
   networkModel.setLocalAddress(descriptor.getLocalAddress());
   networkModel.setUsername(descriptor.getUsername());
   networkModel.setPassword(descriptor.getPassword());
   networkModel.setSocketTimeout(descriptor.getSocketTimeoutMillis());
   networkModel.setLenientHostAuth(descriptor.isAllowAnyHostAuth());
   networkModel.setCookieManagement(descriptor.isEnableCookieManagement());
   networkModel.setSyncProperties(descriptor.isSynchronizeProperties());
   return networkModel;
 }
  private RemoteAdvancedRepositoryConfigModel createRemoteAdvancedConfig(
      HttpRepoDescriptor descriptor) {
    RemoteAdvancedRepositoryConfigModel advanced = new RemoteAdvancedRepositoryConfigModel();
    advanced.setBlackedOut(descriptor.isBlackedOut());
    List<PropertySet> propertySetsList = descriptor.getPropertySets();
    List<PropertySetNameModel> propertySetNameModelList = collectPropertySets(propertySetsList);
    advanced.setPropertySets(propertySetNameModelList);

    RemoteNetworkRepositoryConfigModel networkModel = createNetworkConfig(descriptor);
    advanced.setNetwork(networkModel);

    RemoteCacheRepositoryConfigModel cacheConfig = createCacheConfig(descriptor);
    advanced.setCache(cacheConfig);

    advanced.setAllowContentBrowsing(descriptor.isArchiveBrowsingEnabled());
    advanced.setStoreArtifactsLocally(descriptor.isStoreArtifactsLocally());
    advanced.setSynchronizeArtifactProperties(descriptor.isSynchronizeProperties());
    advanced.setHardFail(descriptor.isHardFail());
    advanced.setQueryParams(descriptor.getQueryParams());
    advanced.setShareConfiguration(descriptor.isShareConfiguration());
    return advanced;
  }