@Override
  public int decode(InputStream iStream) throws IOException {
    int codeLength = 0;

    variable_access_specification = new SubSeqOf_variable_access_specification();
    codeLength += variable_access_specification.decode(iStream);

    list_of_data = new SubSeqOf_list_of_data();
    codeLength += list_of_data.decode(iStream);

    return codeLength;
  }
  @Override
  public int encode(BerByteArrayOutputStream axdrOStream) throws IOException {

    int codeLength;

    if (code != null) {
      codeLength = code.length;
      for (int i = code.length - 1; i >= 0; i--) {
        axdrOStream.write(code[i]);
      }
    } else {
      codeLength = 0;
      codeLength += list_of_data.encode(axdrOStream);

      codeLength += variable_access_specification.encode(axdrOStream);
    }

    return codeLength;
  }