package ${package};
${imports}
/**
 * {@link ${class_to_assert}} specific assertions - Generated by CustomAssertionGenerator.
 *
 * Although this class is not final to allow Soft assertions proxy, if you wish to extend it, 
 * extend {@link Abstract${custom_assertion_class}} instead.
 */
@javax.annotation.Generated(value="assertj-assertions-generator")
public class ${custom_assertion_class} extends Abstract${custom_assertion_class}<${custom_assertion_class}, ${class_to_assert}> {

  /**
   * Creates a new <code>{@link ${custom_assertion_class}}</code> to make assertions on actual ${class_to_assert}.
   * @param actual the ${class_to_assert} we want to make assertions on.
   */
  public ${custom_assertion_class}(${class_to_assert} actual) {
    super(actual, ${custom_assertion_class}.class);
  }

  /**
   * An entry point for ${custom_assertion_class} to follow AssertJ standard <code>assertThat()</code> statements.<br>
   * With a static import, one can write directly: <code>assertThat(my${class_to_assert})</code> and get specific assertion with code completion.
   * @param actual the ${class_to_assert} we want to make assertions on.
   * @return a new <code>{@link ${custom_assertion_class}}</code>
   */
  @org.assertj.core.util.CheckReturnValue
  public static ${custom_assertion_class} assertThat(${class_to_assert} actual) {
    return new ${custom_assertion_class}(actual);
  }
}
