@Override
  public Collection<PsiMethod> collectMethods(PsiClass typeDefinition) {
    List<PsiMethod> result = ContainerUtil.filter(
      typeDefinition.getMethods(),
      m -> !GroovyObjectTransformationSupport.isGroovyObjectSupportMethod(m)
    );
    if (typeDefinition instanceof GroovyScriptClass) {
      final GroovyPsiElementFactory factory = GroovyPsiElementFactory.getInstance(context.project);
      final String name = typeDefinition.getName();
      GrTypeDefinition tempClass = factory.createTypeDefinition("class " + name + " extends groovy.lang.Script {\n" +
                                                                "  def " + name + "(groovy.lang.Binding binding){\n" +
                                                                "    super(binding);\n" +
                                                                "  }\n" +
                                                                "  def " + name + "(){\n" +
                                                                "    super();\n" +
                                                                "  }\n" +
                                                                "}");
      result = ContainerUtil.append(result, tempClass.getCodeConstructors());
    }
    return result;
  }
@Override
  public Collection<PsiMethod> collectMethods(PsiClass typeDefinition)