@startuml package com.iluwatar.immutable { class App { - LOGGER : Logger {static} + App() + main(args : String[]) {static} } class ImmutableUser { - name : String {final} - age : int {final} - roles : List {final} + ImmutableUser(name : String, age : int, roles : List) + getName() : String + getAge() : int + getRoles() : List + withAge(newAge : int) : ImmutableUser + toString() : String } } App ..> ImmutableUser : creates @enduml