I have the below code
      ThreadLocal<Map<String, Service<Request, Response>>> connectinonMapThread = new ThreadLocal<Map<String, Service<Request, Response>>>() {
        @Override
        protected Map<String, Service<Request, Response>> initialValue() {
            return new HashMap<String, Service<Request, Response>>();
        }
    };
I want to write it using lambda expression like below -
ThreadLocal<Map<String, Service<Request, Response>>> connectinonMapThread2 = new ThreadLocal<Map<String, Service<Request, Response>>>(() -> new HashMap<String, Service<Request, Response>>());
I tried another one.
ThreadLocal<Map<String, Service<Request, Response>>> connectinonMapThread2 = initialValue() -> {
            return new HashMap<String, Service<Request, Response>>();
    };
But I am getting compilation error. But the IntelliJ Idea suggests this could be written as lambda expression.

 
    