///<summary>
 ///Try get a new <see cref="IEnvVarDirectoryPath"/> object from this string.
 ///</summary>
 ///<returns><i>true</i> if <paramref name="pathString"/> is a valid directory path prefixed with an environment variable and as a consequence, the returned <paramref name="envVarDirectoryPath"/> is not null.</returns>
 ///<remarks>
 ///The path represented by this string doesn't need to exist for this operation to complete properly.
 ///The environment variable prefixing the path doesn't need to exist for this operation to complete properly.
 ///</remarks>
 ///<param name="pathString">Represents the path.</param>
 ///<param name="envVarDirectoryPath">If this method returns <i>true</i>, this is the returned path object.</param>
 public static bool TryGetEnvVarDirectoryPath(this string pathString, out IEnvVarDirectoryPath envVarDirectoryPath) {
    string failureReasonUnused;
    return pathString.TryGetEnvVarDirectoryPath(out envVarDirectoryPath, out failureReasonUnused);
 }
 ///<summary>
 ///Try get a new <see cref="IEnvVarDirectoryPath"/> object from this string.
 ///</summary>
 ///<returns><i>true</i> if <paramref name="pathString"/> is a valid directory path prefixed with an environment variable and as a consequence, the returned <paramref name="envVarDirectoryPath"/> is not null.</returns>
 ///<remarks>
 ///The path represented by this string doesn't need to exist for this operation to complete properly.
 ///The environment variable prefixing the path doesn't need to exist for this operation to complete properly.
 ///</remarks>
 ///<param name="pathString">Represents the path.</param>
 ///<param name="envVarDirectoryPath">If this method returns <i>true</i>, this is the returned path object.</param>
 ///<param name="failureReason">If this method returns <i>false</i>, this is the plain english description of the failure.</param>
 public static bool TryGetEnvVarDirectoryPath(this string pathString, out IEnvVarDirectoryPath envVarDirectoryPath, out string failureReason) {
    envVarDirectoryPath = null;
    if (pathString.IsPathStringNullOrEmpty(out failureReason)) { return false; }
    if (!pathString.IsValidEnvVarDirectoryPath(out failureReason)) { return false; }
    envVarDirectoryPath = new EnvVarDirectoryPath(pathString);
    return true;
 }