code: private void readGrants(CoronaSerializer coronaSerializer)
      throws IOException {
      // Expecting the START_OBJECT token for grants
      coronaSerializer.readStartObjectToken("grants");
      JsonToken current = coronaSerializer.nextToken();
      while (current != JsonToken.END_OBJECT) {
        // We can access the key for the grant, but it is not required
        // Expecting the START_OBJECT token for the grant
        coronaSerializer.readStartObjectToken("grant");
  
        coronaSerializer.readField("grantId");
        GrantId grantId = new GrantId(coronaSerializer);
        coronaSerializer.readField("grant");
        ResourceRequestInfo resourceRequestInfo =
          new ResourceRequestInfo(coronaSerializer);
  
        // Expecting the END_OBJECT token for the grant
        coronaSerializer.readEndObjectToken("grant");
  
        // This will update the grants map and the resourceTypeToStatsMap map
        addGrant(grantId.getSessionId(), resourceRequestInfo);
  
        current = coronaSerializer.nextToken();
      }
    }
docs: Reads the list of grants from the JSON stream
  @param coronaSerializer The CoronaSerializer instance being used to read
  the JSON from disk
  @throws IOException