Source:
protected Handshaker(boolean isClient, int initialMessageSeq, DTLSSession session, RecordLayer recordLayer, Connection connection, DtlsConnectorConfig config, int maxTransmissionUnit) { if (session == null) { throw new NullPointerException("DTLS Session must not be null"); } else if (recordLayer == null) { throw new NullPointerException("Record layer must not be null"); } else if (connection == null) { throw new NullPointerException("Connection must not be null"); } else if (config == null) { throw new NullPointerException("Dtls Connector Config must not be null"); } else if (initialMessageSeq < 0) { throw new IllegalArgumentException("Initial message sequence number must not be negative"); } this.isClient = isClient; this.sendMessageSequence = initialMessageSeq; this.nextReceiveMessageSequence = initialMessageSeq; this.session = session; this.recordLayer = recordLayer; this.connection = connection; this.connectionIdGenerator = config.getConnectionIdGenerator(); this.maxFragmentedHandshakeMessageLength = config.getMaxFragmentedHandshakeMessageLength(); this.maxDeferredProcessedOutgoingApplicationDataMessages = config.getMaxDeferredProcessedOutgoingApplicationDataMessages(); this.maxDeferredProcessedIncomingRecordsSize = config.getMaxDeferredProcessedIncomingRecordsSize(); this.sniEnabled = config.isSniEnabled(); this.useStateValidation = config.useHandshakeStateValidation(); this.privateKey = config.getPrivateKey(); this.publicKey = config.getPublicKey(); this.certificateChain = config.getCertificateChain(); this.certificateVerifier = config.getCertificateVerifier(); this.rpkStore = config.getRpkTrustStore(); this.pskStore = config.getPskStore(); this.session.setMaxTransmissionUnit(maxTransmissionUnit); this.applicationLevelInfoSupplier = config.getApplicationLevelInfoSupplier(); this.deferredApplicationData = new ArrayList<RawData>(maxDeferredProcessedOutgoingApplicationDataMessages); this.deferredRecords = new ArrayList<Record>(maxDeferredProcessedOutgoingApplicationDataMessages); this.inboundMessageBuffer = new InboundMessageBuffer(); addSessionListener(connection.getSessionListener()); }

Target:
protected Handshaker(boolean isClient, int initialMessageSeq, DTLSSession session, RecordLayer recordLayer, Connection connection, DtlsConnectorConfig config, int maxTransmissionUnit) { if (session == null) { throw new NullPointerException("DTLS Session must not be null"); } else if (recordLayer == null) { throw new NullPointerException("Record layer must not be null"); } else if (connection == null) { throw new NullPointerException("Connection must not be null"); } else if (config == null) { throw new NullPointerException("Dtls Connector Config must not be null"); } else if (initialMessageSeq < 0) { throw new IllegalArgumentException("Initial message sequence number must not be negative"); } this.isClient = isClient; this.sendMessageSequence = initialMessageSeq; this.nextReceiveMessageSequence = initialMessageSeq; this.session = session; this.recordLayer = recordLayer; this.connection = connection; this.connectionIdGenerator = config.getConnectionIdGenerator(); this.maxFragmentedHandshakeMessageLength = config.getMaxFragmentedHandshakeMessageLength(); this.maxDeferredProcessedOutgoingApplicationDataMessages = config.getMaxDeferredProcessedOutgoingApplicationDataMessages(); this.maxDeferredProcessedIncomingRecordsSize = config.getMaxDeferredProcessedIncomingRecordsSize(); this.sniEnabled = config.isSniEnabled(); this.useStateValidation = config.useHandshakeStateValidation(); this.privateKey = config.getPrivateKey(); this.publicKey = config.getPublicKey(); this.certificateChain = config.getCertificateChain(); this.certificateVerifier = config.getCertificateVerifier(); this.rpkStore = config.getRpkTrustStore(); this.pskStore = config.getPskStore(); this.session.setMaxTransmissionUnit(maxTransmissionUnit); this.applicationLevelInfoSupplier = config.getApplicationLevelInfoSupplier(); this.inboundMessageBuffer = new InboundMessageBuffer(); addSessionListener(connection.getSessionListener()); }