/** {@inheritDoc} */
public final void execute () throws InternetSCSIException {
final ProtocolDataUnit protocolDataUnit = protocolDataUnitFactory.create(false, true, OperationCode.TEXT_REQUEST, connection.getSetting(OperationalTextKey.HEADER_DIGEST), connection.getSetting(OperationalTextKey.DATA_DIGEST));
final TextRequestParser parser = (TextRequestParser) protocolDataUnit.getBasicHeaderSegment().getParser();
final SettingsMap settings = new SettingsMap();
settings.add(OperationalTextKey.SEND_TARGETS, "");
final IDataSegment dataSegment = DataSegmentFactory.create(settings.asByteBuffer(), DataSegmentFormat.TEXT, connection.getSettingAsInt(OperationalTextKey.MAX_RECV_DATA_SEGMENT_LENGTH));
int bytes2Process = dataSegment.getLength();
for (IDataSegmentIterator dataSegmentIterator = dataSegment.iterator(); dataSegmentIterator.hasNext();) {
IDataSegmentChunk dataSegmentChunk = dataSegmentIterator.next(bytes2Process);
protocolDataUnit.setDataSegment(dataSegmentChunk);
parser.setTargetTransferTag(0xFFFFFFFF);
}
connection.send(protocolDataUnit);
connection.nextState(new GetConnectionsResponseState(connection));
super.stateFollowing = true;