| 
					
				 | 
			
			
				@@ -141,30 +141,32 @@ public abstract class AbstractAuthenticationToken implements Authentication { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return ((UserDetails) this.getPrincipal()).getUsername(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.getPrincipal().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return (this.getPrincipal() == null) ? "" : this.getPrincipal() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        .toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public int hashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int code = 31; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Copy authorities to local variable for performance (SEC-223) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GrantedAuthority[] authorities = this.getAuthorities(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (authorities != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (int i = 0; i < authorities.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                code ^= authorities[i].hashCode();          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                code ^= authorities[i].hashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.getPrincipal() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            code ^= this.getPrincipal().hashCode();          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            code ^= this.getPrincipal().hashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.getCredentials() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            code ^= this.getCredentials().hashCode();          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            code ^= this.getCredentials().hashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.getDetails() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            code ^= this.getDetails().hashCode();          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            code ^= this.getDetails().hashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.isAuthenticated()) { 
			 |