code: public static FailHandler createFailHandlerFromString(final String failHandler) {
          // determine fail handler implementation from string value
          if (failHandler.equalsIgnoreCase(ReliableFailHandler.IDENTIFIER)) {
              return new ReliableFailHandler();
          }
          else if (failHandler.equalsIgnoreCase(UnreliableFailHandler.IDENTIFIER)) {
              return new UnreliableFailHandler();
          }
          else {
              // create fail handler using parameter as identifier or class name
              try {
                  return (FailHandler) Class.forName(failHandler).newInstance();
              }
              catch (final ClassNotFoundException e) {
                  throw new IllegalArgumentException("failed to instantiate FailHandler instance from argument " +
                      failHandler, e);
              }
              catch (final InstantiationException e) {
                  throw new IllegalArgumentException("failed to instantiate FailHandler instance from argument " +
                      failHandler, e);
              }
              catch (final IllegalAccessException e) {
                  throw new IllegalArgumentException("failed to instantiate FailHandler instance from argument " +
                      failHandler, e);
              }
              catch (final ClassCastException e) {
                  throw new IllegalArgumentException("instance from argument " + failHandler +
                      " does not implement FailHandler", e);
              }
          }
      }
docs: Creates a {@link FailHandler} implementation from a string argument. If the argument fails to qualify as either
  {@link ReliableFailHandler#IDENTIFIER} or {@link UnreliableFailHandler#IDENTIFIER}, the argument is interpreted
  as a class name and instantiated through {@code Class.forName(failHandler).newInstance()}.
  
  @param failHandler A fail handler identifier or class name.
  @return A {@link FailHandler} instance.
  @throws IllegalArgumentException When instantiating {@code failHandler} fails or is not a {@link FailHandler}.