<?xml version="1.0" encoding="UTF-8"?>
<test-data
    xmlns="http://pmd.sourceforge.net/rule-tests"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
	<test-code>
		<description><![CDATA[
Not OK! Has overriden getInstance() methods
     ]]></description>
		<expected-problems>1</expected-problems>
		<code>
        <![CDATA[
public class Singleton {

   private static Singleton singleton = new Singleton();
   
  private Singleton(){ }
   
public static Singleton getInstance() {
      return singleton;
}
public static Singleton getInstance(Object obj){
	Singleton singleton = (Singleton) obj;
	return singleton;
}
}
]]>
		</code>
	</test-code>
	<test-code>
		<description><![CDATA[
OK! Has only one Singleton
     ]]></description>
		<expected-problems>0</expected-problems>
		<code>
        <![CDATA[
public class Singleton{
private static Singleton instance = null;
    public static Singleton getInstance() {
	synchronized(Singleton.class){
		if(instance==null){
    	instance = new Singleton();
    	}
	}
    	return instance;
    }
}
]]>
		</code>
	</test-code>
</test-data>