Program: 88570
Project: 88570
Buggy source:
/** 
 * Uses the stored username and passed password to query MMS for a ticket. Will clear any stored password on attempt. <p> Will first check to see if there is an existing ticket, and if so if it is valid. If valid, will not resend for new ticket. If invalid or not present, will send for new ticket. <p> Since it can only be called by logInToMMS(), assumes that the username and password were recently acquired from the login dialogue or pre-specified if that's disabled.
 */
private static boolean acquireTicket(Project project,String pass){
  if (username == null || username.isEmpty()) {
    Application.getInstance().getGUILog().log("String_Node_Str");
    return false;
  }
  if (pass == null) {
    return false;
  }
  ticketMappings.remove(project);
  URIBuilder requestUri=MMSUtils.getServiceUri(project);
  if (requestUri == null) {
    return false;
  }
  requestUri.setPath(requestUri.getPath() + "String_Node_Str");
  requestUri.clearParameters();
  ObjectNode credentials=JacksonUtils.getObjectMapper().createObjectNode();
  credentials.put("String_Node_Str",username);
  credentials.put("String_Node_Str",pass);
  String ticket;
  try {
    ticket=MMSUtils.sendCredentials(project,username,pass);
  }
 catch (  ServerException|IOException|URISyntaxException e) {
    Application.getInstance().getGUILog().log("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    return false;
  }
  if (ticket != null) {
    password="String_Node_Str";
    ticketMappings.put(project,new TicketMapping(project,ticket));
    return true;
  }
  Application.getInstance().getGUILog().log("String_Node_Str");
  password="String_Node_Str";
  return false;
}

Fixed version (ground truth):
/** 
 * Uses the stored username and passed password to query MMS for a ticket. Will clear any stored password on attempt. <p> Will first check to see if there is an existing ticket, and if so if it is valid. If valid, will not resend for new ticket. If invalid or not present, will send for new ticket. <p> Since it can only be called by logInToMMS(), assumes that the username and password were recently acquired from the login dialogue or pre-specified if that's disabled.
 */
private static boolean acquireTicket(Project project,String pass){
  if (username == null || username.isEmpty()) {
    Application.getInstance().getGUILog().log("String_Node_Str");
    return false;
  }
  if (pass == null) {
    return false;
  }
  if (isTicketSet(project)) {
    Application.getInstance().getGUILog().log("String_Node_Str");
    MMSLogoutAction.logoutAction(project);
  }
  ticketMappings.remove(project);
  URIBuilder requestUri=MMSUtils.getServiceUri(project);
  if (requestUri == null) {
    return false;
  }
  requestUri.setPath(requestUri.getPath() + "String_Node_Str");
  requestUri.clearParameters();
  ObjectNode credentials=JacksonUtils.getObjectMapper().createObjectNode();
  credentials.put("String_Node_Str",username);
  credentials.put("String_Node_Str",pass);
  String ticket;
  try {
    ticket=MMSUtils.sendCredentials(project,username,pass);
  }
 catch (  ServerException|IOException|URISyntaxException e) {
    Application.getInstance().getGUILog().log("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    return false;
  }
  if (ticket != null) {
    password="String_Node_Str";
    ticketMappings.put(project,new TicketMapping(project,ticket));
    return true;
  }
  Application.getInstance().getGUILog().log("String_Node_Str");
  password="String_Node_Str";
  return false;
}