public String baseClass() {
    StringBuilder sb = new StringBuilder();

    if (complexType.getBase() == null) {
      if (complexType.isHeader()) {
        sb.append("extends com.sforce.ws.bind.SoapHeaderObject ");
      } else if (getClassName().endsWith("Fault")) {
        sb.append("extends com.sforce.ws.SoapFaultException ");
      }
      sb.append("implements com.sforce.ws.bind.XMLizable");
    } else {
      sb.append("extends ").append(localJavaType(complexType.getBase(), 1, false));
    }
    return sb.toString();
  }
  public String xsiType() {
    if (complexType.getBase() == null) {
      return "";
    }

    StringBuilder sb = new StringBuilder();
    sb.append("__typeMapper.writeXsiType(__out, \"");
    sb.append(complexType.getSchema().getTargetNamespace());
    sb.append("\", \"");
    sb.append(complexType.getName());
    sb.append("\");");
    return sb.toString();
  }