When I shorten delay to 1, 2 or 3 it complets the code, but with 1000, it only displays "Start playing" and nothing else happens.
package pl.codegym.task.task16.task1605;

import java.util.Date;

/*
Let's talk music

*/

public class Solution {
    public static int delay = 1000;

    public static void main(String[] args) {
        Thread violin = new Thread(new Violin("Player"));
        violin.start();
    }

    public static void sleepNSeconds(int n) {
        try {
            Thread.sleep(n * delay);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public interface MusicalInstrument extends Runnable {
        Date startPlaying();

        Date stopPlaying();
    }

    public static class Violin implements MusicalInstrument {
        private String owner;

        public Violin(String owner) {
            this.owner = owner;
        }

        public Date startPlaying() {
            System.out.println(this.owner + " is starting to play");
            return new Date();
        }

        public Date stopPlaying() {
            System.out.println(this.owner + " is stopping playing");
            return new Date();
        }

        public void run() {
            Date start = startPlaying();

            int waitS = 1;

            sleepNSeconds(waitS);

            Date stop = stopPlaying();

            long time = stop.getTime() - start.getTime();

            System.out.println(time);
        }
    }
}