code: protected void instrumentNormalMethod(MutableClass mutableClass, MethodNode method) {
      // if not abstract, set a final modifier
      if ((method.access & Opcodes.ACC_ABSTRACT) == 0) {
        method.access = method.access | Opcodes.ACC_FINAL;
      }
      if ((method.access & Opcodes.ACC_NATIVE) != 0) {
        instrumentNativeMethod(mutableClass, method);
      }
  
      // todo figure out
      String originalName = method.name;
      method.name = directMethodName(mutableClass, originalName);
  
      MethodNode delegatorMethodNode = new MethodNode(method.access, originalName, method.desc, method.signature, exceptionArray(method));
      delegatorMethodNode.visibleAnnotations = method.visibleAnnotations;
      delegatorMethodNode.access &= ~(Opcodes.ACC_NATIVE | Opcodes.ACC_ABSTRACT | Opcodes.ACC_FINAL);
  
      makeMethodPrivate(method);
  
      RobolectricGeneratorAdapter generator = new RobolectricGeneratorAdapter(delegatorMethodNode);
      generateClassHandlerCall(mutableClass, method, originalName, generator);
      generator.endMethod();
      mutableClass.addMethod(delegatorMethodNode);
    }
docs: # Rename the method from `methodName` to `$$robo$$methodName`.
  # Make it private so we can invoke it directly without subclass overrides taking precedence.
  # Remove `final` modifiers, if present.
  # Create a delegator method named `methodName` which delegates to the {@link ClassHandler}.