/**
   * This is a concrete implementation of this method inherited from the base class. This method
   * will perform a deep copy of <code>source</code> into <code>destination</code>.
   *
   * @param src The Object which contains the data to be copied.
   * @return Returns <code>destination</code>.
   * @exception NullPointerException If <code>destination</code> or <code>source</code> is null.
   * @exception ClassCastException If either <code>destination</code> or <code>this</code> is not a
   *     <code>EndDeviceControl</code> type.
   */
  public Object copy_data(Object destination, Object source) {

    EndDeviceControl typedDst = (EndDeviceControl) destination;
    EndDeviceControl typedSrc = (EndDeviceControl) source;

    return typedDst.copy_from(typedSrc);
  }
 public Object create_data() {
   return EndDeviceControl.create();
 }
  public Object deserialize_sample(
      Object endpoint_data,
      Object dst,
      CdrInputStream src,
      boolean deserialize_encapsulation,
      boolean deserialize_sample,
      Object endpoint_plugin_qos) {
    int position = 0;

    if (deserialize_encapsulation) {
      src.deserializeAndSetCdrEncapsulation();

      position = src.resetAlignment();
    }

    if (deserialize_sample) {

      EndDeviceControl typedDst = (EndDeviceControl) dst;
      typedDst.clear();
      try {
        typedDst.issueID = src.readString((255));
        typedDst.name = src.readString((255));
        typedDst.endDeviceControlType =
            (org.openfmb.model.dds.rti.openfmb.commonmodule.EndDeviceControlType)
                org.openfmb.model.dds.rti.openfmb.commonmodule.EndDeviceControlTypeTypeSupport
                    .get_instance()
                    .deserialize_sample(
                        endpoint_data,
                        typedDst.endDeviceControlType,
                        src,
                        false,
                        true,
                        endpoint_plugin_qos);
        typedDst.scheduledInterval =
            (org.openfmb.model.dds.rti.openfmb.commonmodule.DateTimeInterval)
                org.openfmb.model.dds.rti.openfmb.commonmodule.DateTimeIntervalTypeSupport
                    .get_instance()
                    .deserialize_sample(
                        endpoint_data,
                        typedDst.scheduledInterval,
                        src,
                        false,
                        true,
                        endpoint_plugin_qos);
        typedDst.setPoints =
            (org.openfmb.model.dds.rti.openfmb.commonmodule.SequenceOfEndDeviceControlSetPoints)
                org.openfmb.model.dds.rti.openfmb.commonmodule
                    .SequenceOfEndDeviceControlSetPointsTypeSupport.get_instance()
                    .deserialize_sample(
                        endpoint_data, typedDst.setPoints, src, false, true, endpoint_plugin_qos);
      } catch (IllegalCdrStateException stateEx) {
        if (src.available() >= CdrEncapsulation.CDR_ENCAPSULATION_PARAMETER_ID_ALIGNMENT) {
          throw new RETCODE_ERROR(
              "Error deserializing sample! Remainder: "
                  + src.available()
                  + "\n"
                  + "Exception caused by: "
                  + stateEx.getMessage());
        }
      } catch (Exception ex) {
        throw new RETCODE_ERROR(ex.getMessage());
      }
    }
    if (deserialize_encapsulation) {
      src.restoreAlignment(position);
    }

    return dst;
  }