// Path: javalab/src/main/java/com/smorales/javalab/business/NotRunnableCodeException.java
// public class NotRunnableCodeException extends RuntimeException {
// 
//     public NotRunnableCodeException(String message) {
//         super(message);
//     }
// 
//     public NotRunnableCodeException(Throwable cause) {
//         super(cause);
//     }
// 
//     public NotRunnableCodeException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
// }


import com.smorales.javalab.business.NotRunnableCodeException;
import javax.inject.Inject;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
import java.util.logging.Logger;
import java.util.stream.Collectors;
package com.smorales.javalab.business.processor.boundary.rest.model;



public class LanguageSourcesReader {

    public static final String HELLO_WORLD_REGEX = "HelloWorld\\.(java|scala|groovy)";
    public static final String HELLO_WORLD_TEST_REGEX = "HelloWorldTest\\.(java|scala|groovy)";
    public static final String INIT_DEPS_REGEX = "init-deps";

    @Inject
    Logger tracer;

    public Map<String, String> readFilesRecursively(final Path path) {
        try {
// Path: javalab/src/main/java/com/smorales/javalab/business/NotRunnableCodeException.java
// public class NotRunnableCodeException extends RuntimeException {
// 
//     public NotRunnableCodeException(String message) {
//         super(message);
//     }
// 
//     public NotRunnableCodeException(Throwable cause) {
//         super(cause);
//     }
// 
//     public NotRunnableCodeException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
// }


// Path: javalab/src/main/java/com/smorales/javalab/business/processor/boundary/rest/model/LanguageSourcesReader.java
import com.smorales.javalab.business.NotRunnableCodeException;
import javax.inject.Inject;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
import java.util.logging.Logger;
import java.util.stream.Collectors;

package com.smorales.javalab.business.processor.boundary.rest.model;



public class LanguageSourcesReader {

    public static final String HELLO_WORLD_REGEX = "HelloWorld\\.(java|scala|groovy)";
    public static final String HELLO_WORLD_TEST_REGEX = "HelloWorldTest\\.(java|scala|groovy)";
    public static final String INIT_DEPS_REGEX = "init-deps";

    @Inject
    Logger tracer;

    public Map<String, String> readFilesRecursively(final Path path) {
        try {
            return Files.walk(path)