docs: @Override
      protected FieldDescriptor parseKey(String s) throws PropertyDatabaseFormatException {
          String[] tuple = s.split(",");
          if (tuple.length != 4) {
              throw new PropertyDatabaseFormatException("Invalid field tuple: " + s);
          }
  
          String className = tuple[0];
          String fieldName = tuple[1];
          String signature = tuple[2];
          int accessFlags;
          try {
              accessFlags = Integer.parseInt(tuple[3]);
          } catch (NumberFormatException e) {
              throw new PropertyDatabaseFormatException("Invalid field access flags: " + tuple[3]);
          }
  
          return DescriptorFactory.instance().getFieldDescriptor(ClassName.toSlashedClassName(className), fieldName, signature,
                  (accessFlags & Const.ACC_STATIC) != 0);
      }