@Nullable
  @CheckReturnValue
  public static String trimEnd (@Nullable final String sSrc, @Nullable final String sTail)
  {
    return endsWith (sSrc, sTail) ? sSrc.substring (0, sSrc.length () - sTail.length ()) : sSrc;
  }
@ Nullable @ CheckReturnValue public static String trimEnd ( @ Nullable final String sSrc , @ Nullable final String sTail ) { return endsWith ( sSrc , sTail ) ? sSrc . substring ( 0 , sSrc . length ( ) - sTail . length ( ) ) : sSrc ; }
Trim the passed tail from the source value. If the source value does not end
with the passed tail, nothing happens.

@param sSrc
The input source string
@param sTail
The string to be trimmed of the end
@return The trimmed string, or the original input string, if the tail was not
found
@see #trimStart(String, String)
@see #trimStartAndEnd(String, String)
@see #trimStartAndEnd(String, String, String)