@Override
 public ImmoXmlVersion getNextVersion() {
   ImmoXmlVersion[] versions = ImmoXmlVersion.values();
   int pos = ArrayUtils.indexOf(versions, this);
   pos++;
   return (versions.length > pos) ? versions[pos] : null;
 }
 @Override
 public ImmoXmlVersion getPreviousVersion() {
   ImmoXmlVersion[] versions = ImmoXmlVersion.values();
   int pos = ArrayUtils.indexOf(versions, this);
   pos--;
   return (pos >= 0) ? versions[pos] : null;
 }
 public static ImmoXmlVersion detectFromString(String version) {
   if (version != null) {
     String[] values = StringUtils.split(version, "/");
     for (ImmoXmlVersion v : ImmoXmlVersion.values()) {
       if (v.toReadableVersion().equalsIgnoreCase(values[0])) return v;
       if (v.alias != null) {
         for (String a : v.alias) {
           if (a.equalsIgnoreCase(values[0])) return v;
         }
       }
     }
   }
   return null;
 }
 @Override
 public boolean isNewerThen(XmlVersion v) {
   ImmoXmlVersion[] versions = ImmoXmlVersion.values();
   return ArrayUtils.indexOf(versions, this) > ArrayUtils.indexOf(versions, v);
 }