docs: public ClassVisitor wrap(TypeDescription instrumentedType,
                               ClassVisitor classVisitor,
                               Implementation.Context implementationContext,
                               TypePool typePool,
                               FieldList<FieldDescription.InDefinedShape> fields,
                               MethodList<?> methods,
                               int writerFlags,
                               int readerFlags) {
          Map<String, FieldDescription.InDefinedShape> mappedFields = new HashMap<String, FieldDescription.InDefinedShape>();
          for (FieldDescription.InDefinedShape fieldDescription : fields) {
              mappedFields.put(fieldDescription.getInternalName() + fieldDescription.getDescriptor(), fieldDescription);
          }
          Map<String, MethodDescription> mappedMethods = new HashMap<String, MethodDescription>();
          for (MethodDescription methodDescription : CompoundList.<MethodDescription>of(methods, new MethodDescription.Latent.TypeInitializer(instrumentedType))) {
              mappedMethods.put(methodDescription.getInternalName() + methodDescription.getDescriptor(), methodDescription);
          }
          return new MemberRemovingClassVisitor(classVisitor, fieldMatcher, methodMatcher, mappedFields, mappedMethods);
      }