int compare(
     ComparisonMode mode,
     VarBufferPos buffer2,
     VarDefNumIntSignLeadingComp0Long varDefNum1,
     VarBufferPos buffer1) {
   long l1 = varDefNum1.getAsDecodedInt(buffer1);
   long l2 = getAsDecodedInt(buffer2);
   return internalCompare(l1, l2);
 }
  void write(
      VarBufferPos buffer, VarDefNumIntSignLeadingComp0Long varSource, VarBufferPos bufferSource) {
    if (m_nTotalSize == varSource.m_nTotalSize) // Same type and same size: Directly copy bytes
    {
      int nPositionDest = buffer.m_nAbsolutePosition;
      int nPositionSource = bufferSource.m_nAbsolutePosition;
      if (BufferSpy.BUFFER_WRITE_DEBUG)
        BufferSpy.prewrite(buffer.m_acBuffer, nPositionDest, m_nTotalSize);
      for (int n = 0; n < m_nTotalSize; n++) {
        buffer.m_acBuffer[nPositionDest++] = bufferSource.m_acBuffer[nPositionSource++];
      }
      if (BufferSpy.BUFFER_WRITE_DEBUG) BufferSpy.endwrite();
      return;
    }

    long l = varSource.getAsDecodedLong(bufferSource);
    writeSignSeparatedLeadingIntComp0AsLong(buffer, l);
  }
 protected void adjustCustomPropertyForCharGetAt(VarDefBuffer varDefBufferCopySingleItem) {
   VarDefNumIntSignLeadingComp0Long varDefCopy =
       (VarDefNumIntSignLeadingComp0Long) varDefBufferCopySingleItem;
   varDefCopy.m_nNbDigitInteger = 1;
 }
 protected VarDefBuffer allocCopy() {
   VarDefNumIntSignLeadingComp0Long v = new VarDefNumIntSignLeadingComp0Long();
   v.m_nNbDigitInteger = m_nNbDigitInteger;
   return v;
 }