Program: 109143
Project: 109143
Buggy source:
private synchronized void prepareApiToken(){
  if (!isNullOrEmpty(token) && expiry != null && (System.currentTimeMillis() + 30000L) <= expiry.getTime())   return;
  try {
    JsonObject header=new JsonObject();
    header.add("String_Node_Str","String_Node_Str");
    header.add("String_Node_Str","String_Node_Str");
    long utcSeconds=(System.currentTimeMillis() / 1000);
    JsonObject claim=new JsonObject();
    claim.add("String_Node_Str",AUTH_URL);
    claim.add("String_Node_Str",utcSeconds + 3600l);
    claim.add("String_Node_Str",utcSeconds);
    claim.add("String_Node_Str",serviceAccount);
    claim.add("String_Node_Str",SCOPE);
    String payload=encodeBase64Url(header.toString().getBytes()) + "String_Node_Str" + encodeBase64Url(claim.toString().getBytes());
    String assertion=payload + "String_Node_Str" + encodeBase64Url(signSHA256withRSA(payload));
    LinkedHashMap<String,String> postParameters=new LinkedHashMap<>();
    postParameters.put("String_Node_Str",GRANT_TYPE);
    postParameters.put("String_Node_Str",assertion);
    String content=convertMapToContent(postParameters);
    String response=httpCall(AUTH_URL,"String_Node_Str",content,null);
    String newToken=null;
    Date newExpiry=null;
    JsonObject json=Json.parse(response).asObject();
    if (json != null && json.get("String_Node_Str") != null) {
      newToken=json.get("String_Node_Str").asString();
      newExpiry=new Date(utcSeconds * 1000 + json.get("String_Node_Str").asInt() * 1000);
    }
    JsonValue error=json.get("String_Node_Str");
    if (error != null) {
      logger.log(Level.SEVERE,error.toString());
    }
    JsonValue errorDesc=json.get("String_Node_Str");
    if (errorDesc != null) {
      logger.log(Level.SEVERE,errorDesc.toString());
    }
    if (!isNullOrEmpty(newToken) && newExpiry != null && System.currentTimeMillis() < newExpiry.getTime()) {
      token=newToken;
      expiry=newExpiry;
      logger.log(Level.FINE,"String_Node_Str" + token);
      logger.info("String_Node_Str" + expiry);
    }
 else {
      logger.log(Level.WARNING,"String_Node_Str" + token + "String_Node_Str"+ expiry);
    }
  }
 catch (  Exception ex) {
    logger.log(Level.SEVERE,"String_Node_Str" + ex.getMessage(),ex);
  }
}

Fixed version (ground truth):
private void prepareApiToken(){
synchronized (tokenLock) {
    if (!isNullOrEmpty(token) && expiry != null && (System.currentTimeMillis() + 30000L) <= expiry.getTime()) {
      return;
    }
    try {
      JsonObject header=new JsonObject();
      header.add("String_Node_Str","String_Node_Str");
      header.add("String_Node_Str","String_Node_Str");
      long utcSeconds=(System.currentTimeMillis() / 1000);
      JsonObject claim=new JsonObject();
      claim.add("String_Node_Str",AUTH_URL);
      claim.add("String_Node_Str",utcSeconds + 3600l);
      claim.add("String_Node_Str",utcSeconds);
      claim.add("String_Node_Str",serviceAccount);
      claim.add("String_Node_Str",SCOPE);
      String payload=encodeBase64Url(header.toString().getBytes(Charset.forName("String_Node_Str"))) + "String_Node_Str" + encodeBase64Url(claim.toString().getBytes(Charset.forName("String_Node_Str")));
      String assertion=payload + "String_Node_Str" + encodeBase64Url(signSHA256withRSA(payload));
      LinkedHashMap<String,String> postParameters=new LinkedHashMap<>();
      postParameters.put("String_Node_Str",GRANT_TYPE);
      postParameters.put("String_Node_Str",assertion);
      String content=convertMapToContent(postParameters);
      String response=httpCall(AUTH_URL,"String_Node_Str",content,null);
      String newToken=null;
      Date newExpiry=null;
      JsonObject json=Json.parse(response).asObject();
      if (json != null && json.get("String_Node_Str") != null) {
        newToken=json.get("String_Node_Str").asString();
        newExpiry=new Date(utcSeconds * 1000 + json.get("String_Node_Str").asInt() * 1000);
      }
      JsonValue error=json.get("String_Node_Str");
      if (error != null) {
        logger.log(Level.SEVERE,error.toString());
      }
      JsonValue errorDesc=json.get("String_Node_Str");
      if (errorDesc != null) {
        logger.log(Level.SEVERE,errorDesc.toString());
      }
      if (!isNullOrEmpty(newToken) && newExpiry != null && System.currentTimeMillis() < newExpiry.getTime()) {
        token=newToken;
        expiry=newExpiry;
        logger.log(Level.FINE,"String_Node_Str" + token);
        logger.info("String_Node_Str" + expiry);
      }
 else {
        logger.log(Level.WARNING,"String_Node_Str" + token + "String_Node_Str"+ expiry);
      }
    }
 catch (    Exception ex) {
      logger.log(Level.SEVERE,"String_Node_Str" + ex.getMessage(),ex);
    }
  }
}