/// <summary>
 /// Initializes a new instance of the WrapperException class
 /// with its code and inner exception.
 /// </summary>
 /// <param name="code">Exceptions code that precisely describes the exception.</param>
 /// <param name="exception">Inner exception.</param>
 /// <param name="developerParams">Parameters for the developer message.</param>
 public WrapperException(Exceptions code, Exception exception, params object[] developerParams)
     : base(Format(code.Description, developerParams), exception)
 {
     if (code == null) throw new NullReferenceException("Code cannot be null");
     Code = code;
 }
 /// <summary>
 /// Throws the Exception pointed by the Exceptions symbol.
 /// </summary>
 /// <param name="code">Exceptions code to throw.</param>
 public static void Throw(Exceptions code)
 {
     throw new WrapperException(code, null);
 }
 /// <summary>
 /// Throws the Exception pointed by the Exceptions symbol.
 /// </summary>
 /// <param name="code">Exceptions code to throw.</param>
 /// <param name="parameters">Optional parameters for the developer message.</param>
 public static void Throw(Exceptions code, params object[] parameters)
 {
     throw new WrapperException(code, null, parameters);
 }