code: @Nonnull
    private static String _getWithLeadingOrTrailing (@Nullable final String sSrc,
                                                     @Nonnegative final int nMinLen,
                                                     final char cGap,
                                                     final boolean bLeading)
    {
      if (nMinLen <= 0)
      {
        // Requested length is too short - return as is
        return getNotNull (sSrc, "");
      }
  
      final int nSrcLen = getLength (sSrc);
      if (nSrcLen == 0)
      {
        // Input string is empty
        return getRepeated (cGap, nMinLen);
      }
  
      final int nCharsToAdd = nMinLen - nSrcLen;
      if (nCharsToAdd <= 0)
      {
        // Input string is already longer than requested minimum length
        return sSrc;
      }
  
      final StringBuilder aSB = new StringBuilder (nMinLen);
      if (!bLeading)
        aSB.append (sSrc);
      for (int i = 0; i < nCharsToAdd; ++i)
        aSB.append (cGap);
      if (bLeading)
        aSB.append (sSrc);
      return aSB.toString ();
    }
docs: Get the result string with at least the desired length, and fill the lead or
  trail with the provided char
  
  @param sSrc
  Source string. May be <code>null</code> or empty.
  @param nMinLen
  The destination minimum length. Should be &gt; 0 to have an impact.
  @param cGap
  The character to use to fill the gap
  @param bLeading
  <code>true</code> to fill at the front (like "00" in "007") or at the
  end (like "00" in "700")
  @return Never <code>null</code>.