@startuml
package com.iluwatar.mute {
  class App {
    - LOGGER : Logger {static}
    + App()
    - acquireResource() : Resource {static}
    - closeResource(resource : Resource) {static}
    + main(args : String[]) {static}
    - useOfLoggedMute() {static}
    - useOfMute() {static}
    - utilizeResource(resource : Resource) {static}
  }
  interface CheckedRunnable {
    + run() {abstract}
  }
  class Mute {
    - Mute()
    + loggedMute(runnable : CheckedRunnable) {static}
    + mute(runnable : CheckedRunnable) {static}
  }
  interface Resource {
  }
}
@enduml