code: @Override
      public void serialize(final DataOutput pOutput) throws TTIOException {
          try {
              pOutput.writeInt(IConstants.DATABUCKET);
              pOutput.writeLong(mBucketKey);
              pOutput.writeLong(mLastBucketKey);
              for (final IData data : getDatas()) {
                  if (data == null) {
                      pOutput.writeInt(IConstants.NULLDATA);
                  } else {
                      if (data instanceof DeletedData) {
                          pOutput.writeInt(IConstants.DELETEDDATA);
                      } else {
                          pOutput.writeInt(IConstants.INTERFACEDATA);
                      }
                      data.serialize(pOutput);
                  }
              }
          } catch (final IOException exc) {
              throw new TTIOException(exc);
          }
      }
docs: {@inheritDoc}