sleep((int)(Math.random() * 500));
sleep((int)((Math.random() * 20)));
    public void run () {	int value = 0;	int ref = 0;	for (int i = 0; i < 20; i++) {	    int rand = (int)(Math.random ()*20);	    /* Read `value', ref is kept for comparison */	    value = Integer.parseInt (d.get());	    	    /* change `value' and ref by a random number, store `value'. */	    value += rand; ref += rand;	    d.set (Integer.toString (value));	    try {		sleep((int)(Math.random() * 500));	    } catch (InterruptedException e) {}	}	/* If a thread didn't have private value to attach to the	   instance of Data, results wouldn't be the same */	if (ref == value)	    System.out.println ("test OK.");	else	    System.out.println ("test failed.");    }