From 92dcf694b4574d3e072cb3e41432751c3bb76818 Mon Sep 17 00:00:00 2001
From: Luke Taylor <luke.taylor@springsource.com>
Date: Fri, 25 Aug 2006 15:32:39 +0000
Subject: [PATCH] added createTarget method on Essence class to allow
 subclassing.

---
 .../acegisecurity/userdetails/ldap/LdapUserDetailsImpl.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/org/acegisecurity/userdetails/ldap/LdapUserDetailsImpl.java b/core/src/main/java/org/acegisecurity/userdetails/ldap/LdapUserDetailsImpl.java
index 491f6189a9..4e5e17a378 100644
--- a/core/src/main/java/org/acegisecurity/userdetails/ldap/LdapUserDetailsImpl.java
+++ b/core/src/main/java/org/acegisecurity/userdetails/ldap/LdapUserDetailsImpl.java
@@ -109,7 +109,7 @@ public class LdapUserDetailsImpl implements LdapUserDetails {
      * Variation of essence pattern. Used to create mutable intermediate object
      */
     public static class Essence {
-        LdapUserDetailsImpl instance = new LdapUserDetailsImpl();
+        LdapUserDetailsImpl instance = createTarget();
         List mutableAuthorities = new ArrayList();
 
         public Essence() {}
@@ -127,6 +127,10 @@ public class LdapUserDetailsImpl implements LdapUserDetails {
             setAuthorities(copyMe.getAuthorities());
         }
 
+        LdapUserDetailsImpl createTarget() {
+            return new LdapUserDetailsImpl();
+        }
+
         public Essence addAuthority(GrantedAuthority a) {
             mutableAuthorities.add(a);