@startuml package com.iluwatar.threadpool { class App { - LOGGER : Logger {static} + App() + main(args : String[]) {static} } class CoffeeMakingTask { - TIME_PER_CUP : int {static} + CoffeeMakingTask(numCups : int) + toString() : String } class PotatoPeelingTask { - TIME_PER_POTATO : int {static} + PotatoPeelingTask(numPotatoes : int) + toString() : String } abstract class Task { - ID_GENERATOR : AtomicInteger {static} - id : int - timeMs : int + Task(timeMs : int) + getId() : int + getTimeMs() : int + toString() : String } class Worker { - LOGGER : Logger {static} - task : Task + Worker(task : Task) + run() } } Worker --> "-task" Task CoffeeMakingTask --|> Task PotatoPeelingTask --|> Task @enduml