private void analyzeLocal(SootMethod method, Value value) {
   Local l = (Local) value;
   boolean objIsThreadLocal = tloa.isObjectThreadLocal(l, method);
   if (objIsThreadLocal) {
     G.v().out.println("[lg.tlo] LOCAL " + l.toString() + " is thread-local in method " + method);
   } else {
     G.v().out.println("[lg.tlo] LOCAL " + l.toString() + " is thread-shared in method " + method);
   }
 }
 @Override
 public String toString() {
   String str;
   str = "\nReserva amb ID: " + id + "\n";
   str += "--------------------------------------\n";
   str += "Client: " + clientReserva.getId() + "\n";
   str += "Moto: " + motoReserva.getIdMoto() + "\n";
   str += "Cost: " + preu + "€\n";
   if (penalitzacioMoto) {
     str += "La moto té algun desperfecte.\n";
   } else {
     str += "La moto s'ha retornat amb bon estat.\n";
   }
   if (penalitzacioTemps) {
     str += "La moto no s'ha retornat a temps.\n";
   } else {
     str += "La moto s'ha retornat a temps.\n";
   }
   str += "Local d'inici: " + localInicial.toString() + "\n";
   str += "Data d'inici: " + dataInicial.toString() + "\n";
   str += "Local de finalització: " + localFinal.toString() + "\n";
   str += "Data de finalització: " + dataFinal.toString() + "\n";
   return str;
 }