anchor.diff:  The JSR 305 checks can be configured by adding the `-Xjsr305` compiler flag with the following
   options: `-Xjsr305={strict|warn|ignore}`.
   
  -For kotlin versions 1.1.50+, the default behavior is the same to `-Xjsr305=warn`. The
  -`strict` value should be considered experimental (Spring API nullability declaration could
  -evolve even between minor releases and more checks may be added in the future).
  +For kotlin versions 1.1.50+, the default behavior is the same to `-Xjsr305=warn`.
  +The `strict` value is required to have Spring Framework API full null-safety taken in account
  +but should be considered experimental since Spring API nullability declaration could evolve
  +even between minor releases and more checks may be added in the future).
   
   [NOTE]
   ====
  
positive.code: class Person(val name: String, val age: Int)
  ----
  
  But some persistence technologies like JPA require a default constructor, preventing this
  kind of design. Fortunately, there is now a workaround for this
  https://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-hell["default constructor hell"]
  
negative.code: }
  ----
  
  ==== Specification-like tests
  
  It is possible to create specification-like tests with JUnit 5 and Kotlin.
  
  [source]
  ----
  class SpecificationLikeTests {
  
    @Nested
    @DisplayName("a calculator")
    inner class Calculator {
       val calculator = SampleCalculator()
  
       @Test
       fun `should return the result of adding the first number to the second number`() {
          val sum = calculator.sum(2, 4)
          assertEquals(6, sum)
       }
  
       @Test
       fun `should return the result of subtracting the second number from the first number`() {
          val subtract = calculator.subtract(4, 2)
          assertEquals(2, subtract)
       }
    }
  }
  ----
  
  
  [[getting-started]]
  == Getting started
  
  