code: private DevVarLongStringArray subcribeIDLInEventString(final String eventTypeAndIDL, final String deviceName,
                                                             final String objName) throws DevFailed {
          // event name like "idl5_archive" or "archive"
          String event = eventTypeAndIDL;
          int idlversion = EventManager.MINIMUM_IDL_VERSION;
          if (eventTypeAndIDL.contains(EventManager.IDL_LATEST)) {
              idlversion = DeviceImpl.SERVER_VERSION;
              event = eventTypeAndIDL.substring(eventTypeAndIDL.indexOf("_") + 1, eventTypeAndIDL.length());
          }
          final EventType eventType = EventType.getEvent(event);
          logger.debug("event subscription/confirmation for {}, attribute/pipe {} with type {} and IDL {}", new Object[]{
                  deviceName, objName, eventType, idlversion});
          final Pair<PipeImpl, AttributeImpl> result = findSubscribers(eventType, deviceName, objName);
          return subscribeEvent(eventType, deviceName, idlversion, result.getRight(), result.getLeft());
      }
docs: Manage event subcription with event name like "idl5_archive" or "archive"
  
  @param eventTypeAndIDL
  @param deviceName
  @param objName
  @return
  @throws DevFailed