@Override
 public TypeDescription getDeclaringType() {
   return methodDescription.getDeclaringType();
 }
 @Override
 public GenericTypeList getExceptionTypes() {
   return methodDescription.getExceptionTypes().asErasures().asGenericTypes();
 }
 @Override
 public int getModifiers() {
   return REBASED_METHOD_MODIFIER
       | (methodDescription.isStatic() ? Opcodes.ACC_STATIC : 0)
       | (methodDescription.isNative() ? Opcodes.ACC_NATIVE : 0);
 }
 @Override
 public ParameterList<ParameterDescription.InDefinedShape> getParameters() {
   return new ParameterList.Explicit.ForTypes(
       this,
       join(methodDescription.getParameters().asTypeList().asErasures(), placeholderType));
 }
 @Override
 public GenericTypeDescription getReturnType() {
   return methodDescription.getReturnType().asErasure();
 }