}
public ModuleDescriptor parse(InputStream inputStream) throws IOException {
return parse(null, inputStream);
}
private ModuleDescriptor parse(Path path, InputStream inputStream) throws IOException {
JSONObject jsonObject = new JSONObject(new JSONTokener(new InputStreamReader(inputStream, "UTF-8")));
Map<String, String> properties = new LinkedHashMap<>();
if (jsonObject.has("properties")) {
loadJsonProperties(path == null ? null : path.getParent(), properties, jsonObject.getJSONObject("properties"));
}