code: @Beta
    public <T> T GroovyMock(
      @DelegatesTo.Target
        Class<T> type,
      @DelegatesTo(strategy = Closure.DELEGATE_FIRST, genericTypeIndex = 0)
      @ClosureParams(FirstParam.FirstGenericType.class)
        Closure interactions) {
      invalidMockCreation();
      return null;
    }
docs: Creates a Groovy mock with the specified type and interactions. If enclosed in a variable assignment, the variable name will be
  used as the mock's name.
  
  Example:
  
  <pre>
  // name is "person", type is Person.class, returns hard-code value {@code name}, expects one call to {@code sing()}
  def person = GroovyMock(Person) {
  name << "Fred"
  1 * sing()
  }
  </pre>
  
  @param type the interface or class type of the Groovy mock
  @param interactions a description of the Groovy mock's interactions
  @param <T> the interface or class type of the Groovy mock
  
  @return a Groovy mock with the specified type and interactions