   (defun field(property indent indentLevel)
     (apply-template
      "private ##type## ##name##;"
-     (property-to-replacements property)
+     (to-replacements property)
      indent
      indentLevel))
 

     indentLevel))

  (concat
   (apply-template
    "public class ##className## {"
    (list (list "##className##" className))
    indent
    indentLevel)
   "\n"
   (fields properties indent (+ 1 indentLevel) "\n")
   "\n\n"

  (defun indent(indent level)
    (make-string (* indent level) ?\s))

  (defun to-replacements(property)
    (list
     (list "##type##" (car property))
     (list "##name##" (cadr property)) (list "##Name##" (capitalize (cadr property)))))
  
  (defun apply-template(template replacements indent indentLevel)
    (defun at-inner(template replacements indent indentLevel)
      (if replacements
          (let ((replacement (car replacements))
                (case-fold-search nil)) ;; To make replace case sensitive
            (replace-regexp-in-string
             (car replacement)
             (cadr replacement)
             (at-inner template (cdr replacements) indent indentLevel)))
        template))
    (replace-regexp-in-string
     "##indent##"
