rendered paste bodypackage blok21_22BogsystemObserverPattern;import java.util.ArrayList;public class BogTitel implements Subject { private String titel; private int antal; private ArrayList<Observer> observers = new ArrayList<Observer>(); private ArrayList<Kunde> kunder = new ArrayList<Kunde>(); public BogTitel(String titel, int antal) { this.titel = titel; this.antal = antal; } public void fire() { for (int i = 0; i < observers.size(); i++) { observers.get(i).update(this); } } public String getTitel() { return titel; } public int getAntal() { return antal; } public void indkoebTilLager(int antal) { // OK if (antal < 1) { throw new RuntimeException("Antal skal være større end en"); } this.antal += antal; } public void etKoeb(Kunde k) { this.antal = antal - 1; k.addBogTitel(this); fire(); } public void addObserver(Observer o) { observers.add(o); } public void removeObserver(Observer o) { if (observers.contains(o)) { observers.remove(o); } } public ArrayList<Kunde> getKunder() { return kunder; } public void addKunde(Kunde k) { kunder.add(k); k.addBogTitel(this); }}