public int getMarshalledSize() {
    int marshalSize = 0;

    marshalSize = super.getMarshalledSize();
    marshalSize = marshalSize + minefieldID.getMarshalledSize(); // minefieldID
    marshalSize = marshalSize + requestingEntityID.getMarshalledSize(); // requestingEntityID
    marshalSize = marshalSize + 1; // requestID
    marshalSize = marshalSize + 1; // numberOfPerimeterPoints
    marshalSize = marshalSize + 1; // pad2
    marshalSize = marshalSize + 1; // numberOfSensorTypes
    marshalSize = marshalSize + 4; // dataFilter
    marshalSize = marshalSize + requestedMineType.getMarshalledSize(); // requestedMineType
    for (int idx = 0; idx < requestedPerimeterPoints.size(); idx++) {
      Point listElement = requestedPerimeterPoints.get(idx);
      marshalSize = marshalSize + listElement.getMarshalledSize();
    }
    for (int idx = 0; idx < sensorTypes.size(); idx++) {
      TwoByteChunk listElement = sensorTypes.get(idx);
      marshalSize = marshalSize + listElement.getMarshalledSize();
    }

    return marshalSize;
  }