docs: private void calculatePaddingSpaceTarget() throws ObjectManagerException
      {
          if (trace.isEntryEnabled())
              trace.entry(this, cclass
                          , "calculatePaddingSpaceTarget",
                          new Object[] { Long.valueOf(PADDING_SPACE_TARGET) }
                              );
  
          long oldTarget;
  
          synchronized (paddingSpaceLock)
          {
              oldTarget = PADDING_SPACE_TARGET;
              // we could take out sector bytes as they are already reserved, but its hardly
              // worth it.
              // the numberOfBuffersPerLog represents the maximum number of times we will do a
              // flush in the middle of adding a large log record.  This represents the maximum
              // number of pages we might have to pad (probably a gross over-estimation but at
              // least it is safe).
              long numberOfBuffersPerLog = (fileLogHeader.fileSize - FileLogHeader.headerLength) / (logBuffer.numberOfPages * pageSize);
              PADDING_SPACE_TARGET = Math.max(numberOfBuffersPerLog * pageSize,
                                              PADDING_SPACE_MINIMUM * pageSize);
          }
  
          long paddingSpaceDelta = PADDING_SPACE_TARGET - oldTarget;
          if (paddingSpaceDelta > 0)
          {
              // padding space required has grown
              reserve(paddingSpaceDelta);
              paddingReserveLogSpace(-paddingSpaceDelta);
          }
          else
          {
              // padding space required has shrunk
              // no need to do anything, it will be given back naturally
          }
  
          if (trace.isEntryEnabled())
              trace.exit(this, cclass
                         , "calculatePaddingSpaceTarget",
                         new Object[] { Long.valueOf(PADDING_SPACE_TARGET) }
                              );
      }