// org.dmd.dms.util.GenUtility.formatSV(GenUtility.java:877)
  public void setService(Object value) throws DmcValueException {
    DmcTypeWsdlServiceREFSV attr = (DmcTypeWsdlServiceREFSV) get(DmwsdlDMSAG.__service);
    if (attr == null) attr = new DmcTypeWsdlServiceREFSV(DmwsdlDMSAG.__service);
    else attr.removeBackReferences();

    attr.set(value);
    set(DmwsdlDMSAG.__service, attr);
  }
  // org.dmd.dms.util.GenUtility.formatSV(GenUtility.java:655)
  public WsdlServiceREF getService() {
    DmcTypeWsdlServiceREFSV attr = (DmcTypeWsdlServiceREFSV) get(DmwsdlDMSAG.__service);
    if (attr == null) return (null);

    if (DmcOmni.instance().lazyResolution()) {
      if (attr.doLazyResolution(this)) {
        rem(attr.getAttributeInfo());
        return (null);
      }
    }

    return (attr.getSV());
  }
  // org.dmd.dms.util.GenUtility.formatSV(GenUtility.java:709)
  public void setService(WsdlServiceDMO value) {
    DmcAttribute<?> attr = get(DmwsdlDMSAG.__service);
    if (attr == null) attr = new DmcTypeWsdlServiceREFSV(DmwsdlDMSAG.__service);
    else ((DmcTypeWsdlServiceREFSV) attr).removeBackReferences();

    try {
      attr.set(value);
      set(DmwsdlDMSAG.__service, attr);
    } catch (DmcValueException ex) {
      throw (new IllegalStateException(
          "The type specific set() method shouldn't throw exceptions!", ex));
    }
  }
  /** Returns the reference to WsdlService without attempting lazy resolution (if turned on). */
  public WsdlServiceREF getServiceREF() {
    DmcTypeWsdlServiceREFSV attr = (DmcTypeWsdlServiceREFSV) get(DmwsdlDMSAG.__service);
    if (attr == null) return (null);

    return (attr.getSV());
  }