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;
  }