class SessionTrackingControl extends AbstractControl implements RequestControl, ResponseControl {

  @Override
  public byte[] encode()
  {
    final List<DEREncoder> l = new ArrayList<>();
    l.add(new OctetStringType(getSessionSourceIp()));
    l.add(new OctetStringType(getSessionSourceName()));
    l.add(new OctetStringType(getFormatOID()));
    l.add(new OctetStringType(getSessionTrackingIdentifier()));

    final ConstructedDEREncoder se = new ConstructedDEREncoder(UniversalDERTag.SEQ, l.toArray(new DEREncoder[0]));
    return se.encode();
  }

  public  SessionTrackingControl();
  public  SessionTrackingControl(final boolean critical);
  public  SessionTrackingControl(
    final String sourceIP,
    final String sourceName,
    final String oid,
    final String trackingIdentifier);
  public  SessionTrackingControl(
    final String sourceIP,
    final String sourceName,
    final String oid,
    final String trackingIdentifier,
    final boolean critical);

}