class SingletonConstructor {
  private SingletonConstructor() {}
}
-----
public class SingletonConstructor extends groovy.lang.GroovyObjectSupport implements groovy.lang.GroovyObject {
public SingletonConstructor() {

}
public java.lang.Object getProperty(java.lang.String property) {
return null;
}

public void setProperty(java.lang.String property, java.lang.Object newValue) {
return ;
}

public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args) {
return null;
}

public groovy.lang.MetaClass getMetaClass() {
return null;
}

public void setMetaClass(groovy.lang.MetaClass metaClass) {
return ;
}

}
---