docs: public ClassFeatureSet initialize(JavaClass javaClass) {
          this.className = javaClass.getClassName();
          this.isInterface = javaClass.isInterface();
  
          addFeature(CLASS_NAME_KEY + transformClassName(javaClass.getClassName()));
  
          for (Method method : javaClass.getMethods()) {
              if (!isSynthetic(method)) {
                  String transformedMethodSignature = transformMethodSignature(method.getSignature());
  
                  if (method.isStatic() || !overridesSuperclassMethod(javaClass, method)) {
                      addFeature(METHOD_NAME_KEY + method.getName() + ":" + transformedMethodSignature);
                  }
  
                  Code code = method.getCode();
                  if (code != null && code.getCode() != null && code.getCode().length >= MIN_CODE_LENGTH) {
                      addFeature(CODE_LENGTH_KEY + method.getName() + ":" + transformedMethodSignature + ":"
                              + code.getCode().length);
                  }
              }
          }
  
          for (Field field : javaClass.getFields()) {
              if (!isSynthetic(field)) {
                  addFeature(FIELD_NAME_KEY + field.getName() + ":" + transformSignature(field.getSignature()));
              }
          }
  
          return this;
      }