intellij-plugin/educational-core/src/com/jetbrains/edu/learning/serialization/converter/json/ToSeventhVersionJsonStepOptionConverter.kt [41:48]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fun convertTaskFile(taskFile: ObjectNode, taskFilesRoot: String) { val path = taskFile.get(NAME)?.asText() ?: return taskFile.put(NAME, "$taskFilesRoot/$path") for (placeholder in taskFile.get(PLACEHOLDERS)) { val placeholderObject = placeholder as? ObjectNode ?: continue convertPlaceholder(placeholderObject, taskFilesRoot) } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - edu-format/src/com/jetbrains/edu/learning/json/migration/ToSeventhVersionLocalCourseConverter.kt [49:56]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fun convertTaskFile(taskFile: ObjectNode, taskFilesRoot: String) { val path = taskFile.get(NAME)?.asText() ?: return taskFile.put(NAME, "$taskFilesRoot/$path") for (placeholder in taskFile.get(PLACEHOLDERS)) { val placeholderObject = placeholder as? ObjectNode ?: continue convertPlaceholder(placeholderObject, taskFilesRoot) } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -