Объясните пожалуйста, почему здесь возникает starvation deadlock?
public class RenderPageTask implements Callable<String>
    {
    ExecutorService exec = Executors.newSingleThreadExecutor();

        public String call() throws Exception
        {
            Future<String> header, footer;
            header = exec.submit(new LoadFileTask("header.html"));
            footer = exec.submit(new LoadFileTask("footer.html"));
            String page = renderBody();
            // Will deadlock -- task waiting for result of subtask
            return header.get() + page + footer.get();
        }
}