%  if(property.type == Boolean.class || property.type == boolean.class)
        out << renderBooleanEditor(domainClass,property)	
    else if(Number.class.isAssignableFrom(property.type) || (property.type.isPrimitive() && property.type != boolean.class))
        out << renderNumberEditor(domainClass,property)
    else if(property.type == String.class)
        out << renderStringEditor(domainClass,property)
    else if(property.type == Date.class || property.type == java.sql.Date.class || property.type == java.sql.Time.class)
        out << renderDateEditor(domainClass,property)
    else if(property.type == Calendar.class)
        out << renderDateEditor(domainClass,property)  
    else if(property.type == URL.class) 
        out << renderStringEditor(domainClass,property)
    else if(property.isEnum())
        out << renderEnumEditor(domainClass,property)
    else if(property.type == TimeZone.class)
        out << renderSelectTypeEditor("timeZone",domainClass,property)
    else if(property.type == Locale.class)
        out << renderSelectTypeEditor("locale",domainClass,property)
    else if(property.type == Currency.class)
        out << renderSelectTypeEditor("currency",domainClass,property)
    else if(property.type==([] as Byte[]).class) //TODO: Bug in groovy means i have to do this :(
        out << renderByteArrayEditor(domainClass,property)
    else if(property.type==([] as byte[]).class) //TODO: Bug in groovy means i have to do this :(
        out << renderByteArrayEditor(domainClass,property)                
    else if(property.manyToOne || property.oneToOne)
        out << renderManyToOne(domainClass,property)
    else if((property.oneToMany && !property.bidirectional) || (property.manyToMany && property.isOwningSide()))
        out << renderManyToMany(domainClass, property)
    else if(property.oneToMany)
        out << renderOneToMany(domainClass,property)
    private renderEnumEditor(domainClass,property) {
        if(property.isEnum()) {
            return "