java.import.exclusions preference is ignored during server startup

While checking eclipse-jdtls/eclipse.jdt.ls#539, I realized that java.import.exclusions are actually ignored during import, as the import is initialized before the preferences are set. See logs:

[Info  - 16:07:58] 15-Feb-2018 4:07:58 PM >> initialize
[Info  - 16:07:58] 15-Feb-2018 4:07:58 PM Initializing Java Language Server 0.13.0.201802152031
[Info  - 16:07:58] 15-Feb-2018 4:07:58 PM >> workspace/didChangeConfiguration
[Info  - 16:07:58] 15-Feb-2018 4:07:58 PM System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
[Info  - 16:07:58] 15-Feb-2018 4:07:58 PM Creating the default Java project
[Info  - 16:07:58] 15-Feb-2018 4:07:58 PM Finished creating the default Java project
[Info  - 16:07:59] 15-Feb-2018 4:07:58 PM Workspace initialized in 1492ms
[Info  - 16:08:00] 15-Feb-2018 4:07:58 PM >>New configuration: {java={home=/Users/fbricon/.sdkman/candidates/java/8u141-oracle/, jdt={ls={vmargs=-noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication}}, errors={incompleteClasspath={severity=warning}}, configuration={updateBuildConfiguration=interactive, maven={userSettings=null}}, trace={server=off}, import={gradle={enabled=true}, maven={enabled=true}, exclusions=[**/node_modules/**, **/.metadata/**, **/archetype-resources/**, **/META-INF/maven/**]}, referencesCodeLens={enabled=false}, signatureHelp={enabled=false}, implementationsCodeLens={enabled=false}, format={enabled=true}, saveActions={organizeImports=false}, contentProvider={preferred=fernflower}, autobuild={enabled=true}, completion={favoriteStaticMembers=[org.junit.Assert.*, org.junit.Assume.*, org.junit.jupiter.api.Assertions.*, org.junit.jupiter.api.Assumptions.*, org.junit.jupiter.api.DynamicContainer.*, org.junit.jupiter.api.DynamicTest.*], importOrder=[java, javax, com, org]}, telemetry={enabled=true}}}

New configuration is set after workspace is initialized.