code: private java.lang.Object extractAttributeObject(org.omg.CosNotification.StructuredEvent notification)
              throws org.omg.CORBA.TypeCodePackage.BadKind {
          TypeCode ty = notification.remainder_of_body.type();
          if (ty.kind().equals(TCKind.tk_struct)) {
              String ty_name = ty.name();
              if (ty_name.equals("AttDataReady"))
                  return AttDataReadyHelper.extract(notification.remainder_of_body);
              else if (ty_name.equals("AttributeConfig_3"))
                  return new AttributeInfoEx(
                          AttributeConfig_3Helper.extract(notification.remainder_of_body));
              else if (ty_name.equals("AttributeConfig_2"))
                  return new AttributeInfoEx(
                          AttributeConfigHelper.extract(notification.remainder_of_body));
              else if (ty_name.equals("AttributeValue_4"))
                  return new DeviceAttribute(
                          AttributeValue_4Helper.extract(notification.remainder_of_body));
              else if (ty_name.equals("AttributeValue_3"))
                  return new DeviceAttribute(
                          AttributeValue_3Helper.extract(notification.remainder_of_body));
              else if (ty_name.equals("AttributeValue"))
                  return new DeviceAttribute(
                          AttributeValueHelper.extract(notification.remainder_of_body));
              else {
                  DevError[] dev_err_list = new DevError[1];
                  dev_err_list[0] = new DevError("API_IncompatibleAttrDataType",
                          ErrSeverity.ERR,
                          "Unknown structure used to pass attribute value (Need compilation ?)",
                          "EventConsumer::extractAttributeObject()");
                  return dev_err_list;
              }
          } else
              return DevErrorListHelper.extract(notification.remainder_of_body);
      }
docs: ===============================================================