public static void main(String[] args) {
        try {        
            int portCapacity = 100;
            int portLoading = 30;
            int numberOfBerthes = 2;

            Port port = new Port(portCapacity, portLoading, numberOfBerthes);

            ExecutorService portEx = Executors.newFixedThreadPool(port.getNumberOfBerthes());

            Thread ship1 = new Thread(new Ship(port, "Isabella", 10, 50));
            Thread ship2 = new Thread(new Ship(port, "Victoria", 30, 50));
            Thread ship3 = new Thread(new Ship(port, "Pearl", 25, 50));

            portEx.execute(ship1);
            portEx.execute(ship2);
            portEx.execute(ship3);

            portEx.shutdown();
            
        } catch (PortException | ShipException ex) {
            log.error(ex);
        }
    }