question: public Map < String , String > prepareInstallProperties ( @ Nullable String configFile , @ Nullable Path binaries , InstallType installType , Artifact artifact , Version version2Install , boolean isInstall ) throws IOException { switch ( artifact . getName ( ) ) { case InstallManagerArtifact . NAME : return Collections . emptyMap ( ) ; case CDECArtifact . NAME : Map < String , String > properties ; if ( isInstall ) { if ( binaries != null ) { properties = loadConfigProperties ( binaries , installType ) ; } else if ( configFile != null ) { properties = loadConfigProperties ( configFile ) ; } else { properties = loadCodenvyDefaultProperties ( version2Install , installType ) ; } if ( installType == InstallType . MULTI_SERVER ) { setupSSHAccessProperties ( properties ) ; } setupSshKeyParts ( properties ) ; setupProxyProperties ( properties ) ; } else { Map < String , String > newProperties ; if ( binaries != null ) { newProperties = loadConfigProperties ( binaries , installType ) ; } else { Optional < Version > installVersion = artifact . getInstalledVersion ( ) ; if ( ! installVersion . isPresent ( ) ) { throw new IOException ( "It is impossible to obtain installed version." ) ; } newProperties = configFile != null ? loadConfigProperties ( configFile ) : loadCodenvyDefaultProperties ( version2Install , installType ) ; } properties = merge ( loadInstalledCodenvyProperties ( installType ) , newProperties ) ; properties . put ( Config . VERSION , version2Install . toString ( ) ) ; if ( installType == InstallType . MULTI_SERVER ) { properties . put ( Config . PUPPET_MASTER_HOST_NAME , fetchMasterHostName ( ) ) ; } } return properties ; default : throw new ArtifactNotFoundException ( artifact ) ; } }
target:  Prepares installation properties depending on artifact and installation type.