public ScanMethodStateLatherValue(ScanMethodState v) {
    super();

    if (v.getMethodClass() != null) {
      this.setStringValue(PROP_METHODCLASS, v.getMethodClass());
    }

    if (v.getStatus() != null) {
      this.setStringValue(PROP_STATUS, v.getStatus());
    }

    if (v.getExceptions() != null) {
      StringifiedException[] excs = v.getExceptions();

      for (int i = 0; i < excs.length; i++) {
        this.addObjectToList(PROP_EXCEPTIONS, new StringifiedExceptionLatherValue(excs[i]));
      }
    }

    if (v.getServers() != null) {
      AIServerValue[] svrs = v.getServers();

      for (int i = 0; i < svrs.length; i++) {
        this.addObjectToList(PROP_SERVERS, new AiServerLatherValue(svrs[i]));
      }
    }
  }
  public ScanMethodState getScanMethodState() {
    ScanMethodState r = new ScanMethodState();

    try {
      r.setMethodClass(this.getStringValue(PROP_METHODCLASS));
    } catch (LatherKeyNotFoundException exc) {
    }

    try {
      r.setStatus(this.getStringValue(PROP_STATUS));
    } catch (LatherKeyNotFoundException exc) {
    }

    try {
      StringifiedException[] excs;
      LatherValue[] lexcs = (LatherValue[]) this.getObjectList(PROP_EXCEPTIONS);

      excs = new StringifiedException[lexcs.length];
      for (int i = 0; i < lexcs.length; i++) {
        StringifiedExceptionLatherValue lExc;

        lExc = (StringifiedExceptionLatherValue) lexcs[i];
        excs[i] = lExc.getException();
      }
      r.setExceptions(excs);
    } catch (LatherKeyNotFoundException exc) {
    }

    try {
      AIServerValue[] svrs;
      LatherValue[] lsvrs = (LatherValue[]) this.getObjectList(PROP_SERVERS);

      svrs = new AIServerValue[lsvrs.length];
      for (int i = 0; i < lsvrs.length; i++) {
        AiServerLatherValue lSvr;

        lSvr = (AiServerLatherValue) lsvrs[i];
        svrs[i] = lSvr.getAIServerValue();
      }
      r.setServers(svrs);
    } catch (LatherKeyNotFoundException exc) {
    }

    return r;
  }