Mam do zmodyfikowania kod zgodnie ze wzorcem singelton moze ktos pomoc?? Zrobiłem takie cos i nie wiem czy to jest dobrze.


package Singelton;
import java.util.*;
import java.math.*;

public class prog02
{
	static long fibonacci(long n)
	{
		licz.inc();
		if(n == 0 || n == 1) return 1;
		return fibonacci(n-1) + fibonacci(n-2);
	}
	static Licznik licz = new Licznik();
	public static void main(String[] args)
	{
		System.out.println("fibonacci(10) = " + fibonacci(10));
	}
}


class Licznik implements Runnable
{
    private volatile static Licznik instance;
    private Licznik(){}

    public static Licznik GetInstance()
    {
        (instance == null)
        {
            synchronized (Licznik.class)
            {
                    instance = new Licznik();
            }
        }
        return instance;
    }
	private long i = 0;
	public Licznik()
	{
		Runtime.getRuntime().addShutdownHook(new Thread(this));
	}
	public void inc()
	{
		i++;
	}
	public void run()
	{
		System.err.println("stan licznika: " + i);
	}
}