@NotNull
  private static Map<HMember, Void> collectKeys(byte[] content) {
    HashMap<HMember, Void> map = new HashMap<>();
    ClassReader reader = new ClassReader(content);
    String className = reader.getClassName();
    long classHash = HMember.classHash(className);
    reader.accept(new ClassVisitor(Opcodes.API_VERSION) {
      @Override
      public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
        if ((access & Opcodes.ACC_PRIVATE) == 0) {
          map.put(HMember.create(classHash, name, desc), null);
        }
        return null;
      }

      @Override
      public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
        map.put(HMember.create(classHash, name, desc), null);
        return null;
      }
    }, ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES | ClassReader.SKIP_CODE);
    return map;
  }
@NotNull
  private static Map<HMember, Void> collectKeys(byte[] content)