public static CANOpenTag of(String addressString) throws PlcInvalidTagException {
        if (CANOpenSDOTag.matches(addressString)) {
            return CANOpenSDOTag.of(addressString);
        } else if (CANOpenPDOTag.matches(addressString)) {
            return CANOpenPDOTag.of(addressString);
        } else if (CANOpenNMTTag.matches(addressString)) {
            return CANOpenNMTTag.of(addressString);
        } else if (CANOpenHeartbeatTag.matches(addressString)) {
            return CANOpenHeartbeatTag.of(addressString);
        }

        throw new PlcInvalidTagException("Unable to parse address: " + addressString);
    }
Generic tag type which defines node address and address pattern (index/subindex).
plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/tag/CANOpenTag.java