Some formatting, white space correction and override annotations
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAM.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAM.java
index fc54e5e..1eca107 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAM.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAM.java
@@ -23,18 +23,18 @@
 import static org.jvnet.libpam.impl.CLibrary.libc;
 import com.sun.jna.Pointer;
 import static com.sun.jna.Native.POINTER_SIZE;
+import static java.util.logging.Level.FINE;
+
 import com.sun.jna.ptr.PointerByReference;
 import java.util.Set;
 
 import java.util.logging.Logger;
-import java.util.logging.Level;
 
 /**
  * PAM authenticator.
  *
  * <p>
- * Instances are thread unsafe and non reentrant. An instace cannot be reused
- * to authenticate multiple users.
+ * Instances are thread unsafe and non reentrant. An instance cannot be reused to authenticate multiple users.
  *
  * <p>
  * For an overview of PAM programming, refer to the following resources:
@@ -47,40 +47,40 @@
  * @author Kohsuke Kawaguchi
  */
 public class PAM {
+    
+    private static final Logger LOGGER = Logger.getLogger(PAM.class.getName());
+    
     private pam_handle_t pht;
     private int ret;
 
     /**
-     * Temporarily stored to pass a value from {@link #authenticate(String, String)}
-     * to {@link pam_conv}.
+     * Temporarily stored to pass a value from {@link #authenticate(String, String)} to {@link pam_conv}.
      */
     private String password;
 
     /**
      * Creates a new authenticator.
      *
-     * @param serviceName
-     *      PAM service name. This corresponds to the service name that shows up
-     *      in the PAM configuration,
+     * @param serviceName PAM service name. This corresponds to the service name that shows up in the PAM configuration,
      */
     public PAM(String serviceName) throws PAMException {
         pam_conv conv = new pam_conv(new PamCallback() {
             public int callback(int num_msg, Pointer msg, Pointer resp, Pointer pointer) {
-                if(LOGGER.isLoggable(Level.FINE))
-                    LOGGER.fine("pam_conv num_msg="+num_msg);
-                if(password==null)
+                if (LOGGER.isLoggable(FINE))
+                    LOGGER.fine("pam_conv num_msg=" + num_msg);
+                if (password == null)
                     return PAM_CONV_ERR;
 
                 // allocates pam_response[num_msg]. the caller will free this
-                Pointer m = libc.calloc(pam_response.SIZE,num_msg);
-                resp.setPointer(0,m);
+                Pointer m = libc.calloc(pam_response.SIZE, num_msg);
+                resp.setPointer(0, m);
 
-                for( int i=0; i<num_msg; i++ ) {
-                    pam_message pm = new pam_message(msg.getPointer(POINTER_SIZE*i));
-                    if(LOGGER.isLoggable(Level.FINE))
-                        LOGGER.fine(pm.msg_style+":"+pm.msg);
-                    if(pm.msg_style==PAM_PROMPT_ECHO_OFF) {
-                        pam_response r = new pam_response(m.share(pam_response.SIZE*i));
+                for (int i = 0; i < num_msg; i++) {
+                    pam_message pm = new pam_message(msg.getPointer(POINTER_SIZE * i));
+                    if (LOGGER.isLoggable(FINE))
+                        LOGGER.fine(pm.msg_style + ":" + pm.msg);
+                    if (pm.msg_style == PAM_PROMPT_ECHO_OFF) {
+                        pam_response r = new pam_response(m.share(pam_response.SIZE * i));
                         r.setResp(password);
                         r.write(); // write to (*resp)[i]
                     }
@@ -91,15 +91,15 @@
         });
 
         PointerByReference phtr = new PointerByReference();
-        check(libpam.pam_start(serviceName,null,conv,phtr), "pam_start failed");
+        check(libpam.pam_start(serviceName, null, conv, phtr), "pam_start failed");
         pht = new pam_handle_t(phtr.getValue());
     }
 
     private void check(int ret, String msg) throws PAMException {
         this.ret = ret;
-        if(ret!=0) {
-            if(pht!=null)
-                throw new PAMException(msg+" : "+libpam.pam_strerror(pht,ret));
+        if (ret != 0) {
+            if (pht != null)
+                throw new PAMException(msg + " : " + libpam.pam_strerror(pht, ret));
             else
                 throw new PAMException(msg);
         }
@@ -108,27 +108,25 @@
     /**
      * Authenticate the user with a password.
      *
-     * @return
-     *      Upon a successful authentication, return information about the user.
-     * @throws PAMException
-     *      If the authentication fails.
+     * @return Upon a successful authentication, return information about the user.
+     * @throws PAMException If the authentication fails.
      */
     public UnixUser authenticate(String username, String password) throws PAMException {
         this.password = password;
         try {
-            check(libpam.pam_set_item(pht,PAM_USER,username),"pam_set_item failed");
-            check(libpam.pam_authenticate(pht,0),"pam_authenticate failed");
-            check(libpam.pam_setcred(pht,0),"pam_setcred failed");
+            check(libpam.pam_set_item(pht, PAM_USER, username), "pam_set_item failed");
+            check(libpam.pam_authenticate(pht, 0), "pam_authenticate failed");
+            check(libpam.pam_setcred(pht, 0), "pam_setcred failed");
             // several different error code seem to be used to represent authentication failures
 //            check(libpam.pam_acct_mgmt(pht,0),"pam_acct_mgmt failed");
 
             PointerByReference r = new PointerByReference();
-            check(libpam.pam_get_item(pht,PAM_USER,r),"pam_get_item failed");
+            check(libpam.pam_get_item(pht, PAM_USER, r), "pam_get_item failed");
             String userName = r.getValue().getString(0);
             Passwd pwd = libc.getpwnam(userName);
-            if(pwd==null)
+            if (pwd == null)
                 throw new PAMException("Authentication succeeded but no user information is available");
-            return new UnixUser(userName,pwd);
+            return new UnixUser(userName, pwd);
         } finally {
             this.password = null;
         }
@@ -136,44 +134,40 @@
 
     /**
      * Returns the groups a user belongs to
+     * 
      * @param username
      * @return Set of group names
      * @throws PAMException
-     * @deprecated
-     *      Pointless and ugly convenience method.
+     * @deprecated Pointless and ugly convenience method.
      */
     public Set<String> getGroupsOfUser(String username) throws PAMException {
         return new UnixUser(username).getGroups();
     }
 
     /**
-     * After a successful authentication, call this method to obtain the effective user name.
-     * This can be different from the user name that you passed to the {@link #authenticate(String, String)}
-     * method.
+     * After a successful authentication, call this method to obtain the effective user name. This can be different from the
+     * user name that you passed to the {@link #authenticate(String, String)} method.
      */
 
     /**
-     * Performs an early disposal of the object, instead of letting this GC-ed.
-     * Since PAM may hold on to native resources that don't put pressure on Java GC,
-     * doing this is a good idea.
+     * Performs an early disposal of the object, instead of letting this GC-ed. Since PAM may hold on to native resources
+     * that don't put pressure on Java GC, doing this is a good idea.
      *
      * <p>
-     * This method is called by {@link #finalize()}, too, so it's not required
-     * to call this method explicitly, however.
+     * This method is called by {@link #finalize()}, too, so it's not required to call this method explicitly, however.
      */
     public void dispose() {
-        if(pht!=null) {
-            libpam.pam_end(pht,ret);
-            pht=null;
+        if (pht != null) {
+            libpam.pam_end(pht, ret);
+            pht = null;
         }
     }
 
-
     @Override
     protected void finalize() throws Throwable {
         super.finalize();
         dispose();
     }
 
-    private static final Logger LOGGER = Logger.getLogger(PAM.class.getName());
+    
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAMException.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAMException.java
index dcdf65c..7af3d09 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAMException.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/PAMException.java
@@ -22,6 +22,9 @@
  * @author Kohsuke Kawaguchi
  */
 public class PAMException extends Exception {
+    
+    private static final long serialVersionUID = 1L;
+    
     public PAMException() {
     }
 
@@ -37,5 +40,5 @@
         super(cause);
     }
 
-    private static final long serialVersionUID = 1L;
+    
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/UnixUser.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/UnixUser.java
index 1487056..ef161fa 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/UnixUser.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/UnixUser.java
@@ -33,10 +33,10 @@
  */
 public class UnixUser {
     private final String userName, gecos, dir, shell;
-    private final int uid,gid;
+    private final int uid, gid;
     private final Set<String> groups;
 
-    /*package*/ UnixUser(String userName, Passwd pwd) throws PAMException {
+    UnixUser(String userName, Passwd pwd) throws PAMException {
         this.userName = userName;
         this.gecos = pwd.getPwGecos();
         this.dir = pwd.getPwDir();
@@ -44,33 +44,33 @@
         this.uid = pwd.getPwUid();
         this.gid = pwd.getPwGid();
 
-        long sz = 4; /*sizeof(gid_t)*/
+        long sz = 4; /* sizeof(gid_t) */
 
         int ngroups = 64;
-        Memory m = new Memory(ngroups*sz);
+        Memory m = new Memory(ngroups * sz);
         IntByReference pngroups = new IntByReference(ngroups);
         try {
-            if(libc.getgrouplist(userName,pwd.getPwGid(),m,pngroups)<0) {
+            if (libc.getgrouplist(userName, pwd.getPwGid(), m, pngroups) < 0) {
                 // allocate a bigger memory
-                m = new Memory(pngroups.getValue()*sz);
-                if(libc.getgrouplist(userName,pwd.getPwGid(),m,pngroups)<0)
+                m = new Memory(pngroups.getValue() * sz);
+                if (libc.getgrouplist(userName, pwd.getPwGid(), m, pngroups) < 0)
                     // shouldn't happen, but just in case.
                     throw new PAMException("getgrouplist failed");
             }
             ngroups = pngroups.getValue();
         } catch (LinkageError e) {
             // some platform, notably Solaris, doesn't have the getgrouplist function
-            ngroups = libc._getgroupsbymember(userName,m,ngroups,0);
-            if (ngroups<0)
+            ngroups = libc._getgroupsbymember(userName, m, ngroups, 0);
+            if (ngroups < 0)
                 throw new PAMException("_getgroupsbymember failed");
         }
 
         groups = new HashSet<String>();
-        for( int i=0; i<ngroups; i++ ) {
+        for (int i = 0; i < ngroups; i++) {
             int gid = m.getInt(i * sz);
             Group grp = libc.getgrgid(gid);
-            if( grp == null ) {
-                 continue;
+            if (grp == null) {
+                continue;
             }
             groups.add(grp.gr_name);
         }
@@ -81,8 +81,8 @@
     }
 
     /**
-     * Copy constructor for mocking. Not intended for regular use. Only for testing.
-     * This signature may change in the future.
+     * Copy constructor for mocking. Not intended for regular use. Only for testing. This signature may change in the
+     * future.
      */
     protected UnixUser(String userName, String gecos, String dir, String shell, int uid, int gid, Set<String> groups) {
         this.userName = userName;
@@ -139,14 +139,13 @@
     /**
      * Gets the groups that this user belongs to.
      *
-     * @return
-     *      never null.
+     * @return never null.
      */
     public Set<String> getGroups() {
         return Collections.unmodifiableSet(groups);
     }
 
     public static boolean exists(String name) {
-        return libc.getpwnam(name)!=null;
+        return libc.getpwnam(name) != null;
     }
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDCLibrary.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDCLibrary.java
index eadff3e..5edb804 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDCLibrary.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDCLibrary.java
@@ -22,6 +22,7 @@
  */
 public interface BSDCLibrary extends CLibrary {
 
-  BSDPasswd getpwnam(String username);
+    @Override
+    BSDPasswd getpwnam(String username);
 
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDPasswd.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDPasswd.java
index 21c1820..3f2ea78 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDPasswd.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/BSDPasswd.java
@@ -19,6 +19,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+
 import org.jvnet.libpam.impl.CLibrary.Passwd;
 
 /**
@@ -64,8 +65,7 @@
     @Override
     protected List getFieldOrder() {
         List fieldOrder = new ArrayList(super.getFieldOrder());
-        fieldOrder.addAll(Arrays.asList("pw_gecos",
-                "pw_dir", "pw_shell"));
+        fieldOrder.addAll(Arrays.asList("pw_gecos", "pw_dir", "pw_shell"));
         return fieldOrder;
     }
 
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/CLibrary.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/CLibrary.java
index dbc80ec..3ff6aaa 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/CLibrary.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/CLibrary.java
@@ -16,25 +16,26 @@
 
 package org.jvnet.libpam.impl;
 
-import com.sun.jna.Platform;
-import com.sun.jna.Pointer;
-import com.sun.jna.Native;
-import com.sun.jna.Library;
-import com.sun.jna.Structure;
-import com.sun.jna.Memory;
-import com.sun.jna.ptr.IntByReference;
 import java.util.Arrays;
 import java.util.List;
+
 import org.jvnet.libpam.PAMException;
 
+import com.sun.jna.Library;
+import com.sun.jna.Memory;
+import com.sun.jna.Native;
+import com.sun.jna.Platform;
+import com.sun.jna.Pointer;
+import com.sun.jna.Structure;
+import com.sun.jna.ptr.IntByReference;
+
 /**
  * @author Kohsuke Kawaguchi
  */
 public interface CLibrary extends Library {
     /**
-     * Comparing http://linux.die.net/man/3/getpwnam
-     * and my Mac OS X reveals that the structure of this field isn't very portable.
-     * In particular, we cannot read the real name reliably.
+     * Comparing http://linux.die.net/man/3/getpwnam and my Mac OS X reveals that the structure of this field isn't very
+     * portable. In particular, we cannot read the real name reliably.
      */
     public class Passwd extends Structure {
         /**
@@ -86,9 +87,11 @@
             return null;
         }
 
+        @Override
         protected List getFieldOrder() {
             return Arrays.asList("pw_name", "pw_passwd", "pw_uid", "pw_gid");
         }
+
         public void setPwName(String pw_name) {
             this.pw_name = pw_name;
         }
@@ -105,58 +108,61 @@
             this.pw_gid = pw_gid;
         }
 
-
     }
 
     public class Group extends Structure {
         public String gr_name;
         // ... the rest of the field is not interesting for us
 
+        @Override
         protected List getFieldOrder() {
             return Arrays.asList("gr_name");
         }
 
-       public void setGrName(String gr_name) {
-           this.gr_name = gr_name;
-       }
+        public void setGrName(String gr_name) {
+            this.gr_name = gr_name;
+        }
     }
 
     Pointer calloc(int count, int size);
+
     Pointer strdup(String s);
+
     Passwd getpwnam(String username);
 
     /**
-     * Lists up group IDs of the given user. On Linux and most BSDs, but not on Solaris.
-     * See http://www.gnu.org/software/hello/manual/gnulib/getgrouplist.html
+     * Lists up group IDs of the given user. On Linux and most BSDs, but not on Solaris. See
+     * http://www.gnu.org/software/hello/manual/gnulib/getgrouplist.html
      */
-    int getgrouplist(String user, int/*gid_t*/ group, Memory groups, IntByReference ngroups);
+    int getgrouplist(String user, int/* gid_t */ group, Memory groups, IntByReference ngroups);
 
     /**
-     * getgrouplist equivalent on Solaris.
-     * See http://mail.opensolaris.org/pipermail/sparks-discuss/2008-September/000528.html
+     * getgrouplist equivalent on Solaris. See
+     * http://mail.opensolaris.org/pipermail/sparks-discuss/2008-September/000528.html
      */
     int _getgroupsbymember(String user, Memory groups, int maxgids, int numgids);
-    Group getgrgid(int/*gid_t*/ gid);
+
+    Group getgrgid(int/* gid_t */ gid);
+
     Group getgrnam(String name);
 
     // other user/group related functions that are likely useful
     // see http://www.gnu.org/software/libc/manual/html_node/Users-and-Groups.html#Users-and-Groups
 
-
     public static final CLibrary libc = Instance.init();
 
     static class Instance {
         private static CLibrary init() {
             if (Platform.isMac() || Platform.isOpenBSD()) {
-                return (CLibrary) Native.loadLibrary("c", BSDCLibrary.class);
+                return Native.loadLibrary("c", BSDCLibrary.class);
             } else if (Platform.isFreeBSD()) {
-                return (CLibrary) Native.loadLibrary("c", FreeBSDCLibrary.class);
+                return Native.loadLibrary("c", FreeBSDCLibrary.class);
             } else if (Platform.isSolaris()) {
-                return (CLibrary) Native.loadLibrary("c", SolarisCLibrary.class);
+                return Native.loadLibrary("c", SolarisCLibrary.class);
             } else if (Platform.isLinux()) {
-                return (CLibrary) Native.loadLibrary("c", LinuxCLibrary.class);
+                return Native.loadLibrary("c", LinuxCLibrary.class);
             } else {
-                return (CLibrary) Native.loadLibrary("c", CLibrary.class);
+                return Native.loadLibrary("c", CLibrary.class);
             }
         }
     }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDCLibrary.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDCLibrary.java
index 308117a..b9c8365 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDCLibrary.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDCLibrary.java
@@ -22,6 +22,7 @@
  */
 public interface FreeBSDCLibrary extends CLibrary {
 
-  FreeBSDPasswd getpwnam(String username);
+    @Override
+    FreeBSDPasswd getpwnam(String username);
 
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDPasswd.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDPasswd.java
index bba1538..a34bd47 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDPasswd.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/FreeBSDPasswd.java
@@ -19,6 +19,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+
 import org.jvnet.libpam.impl.CLibrary.Passwd;
 
 /**
@@ -36,7 +37,6 @@
  *
  * @author R. Tyler Croy
  */
-
 public class FreeBSDPasswd extends Passwd {
     /* Honeywell login info */
     public String pw_gecos;
@@ -65,8 +65,7 @@
     @Override
     protected List getFieldOrder() {
         List fieldOrder = new ArrayList(super.getFieldOrder());
-        fieldOrder.addAll(Arrays.asList("pw_gecos",
-                "pw_dir", "pw_shell"));
+        fieldOrder.addAll(Arrays.asList("pw_gecos", "pw_dir", "pw_shell"));
         return fieldOrder;
     }
 
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxCLibrary.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxCLibrary.java
index 71057bb..7c65def 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxCLibrary.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxCLibrary.java
@@ -20,9 +20,9 @@
  *
  * @author Sebastian Sdorra
  */
-public interface LinuxCLibrary extends CLibrary
-{
+public interface LinuxCLibrary extends CLibrary {
 
-  LinuxPasswd getpwnam(String username);
+    @Override
+    LinuxPasswd getpwnam(String username);
 
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxPasswd.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxPasswd.java
index cb6a272..d17fd67 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxPasswd.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/LinuxPasswd.java
@@ -19,6 +19,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+
 import org.jvnet.libpam.impl.CLibrary.Passwd;
 
 /**
@@ -47,7 +48,7 @@
     /* default shell */
     public String pw_shell;
 
-
+    @Override
     public String getPwGecos() {
         return pw_gecos;
     }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/PAMLibrary.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/PAMLibrary.java
index 3a60e24..1fe8d3c 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/PAMLibrary.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/PAMLibrary.java
@@ -16,29 +16,49 @@
 
 package org.jvnet.libpam.impl;
 
-import com.sun.jna.Library;
-import com.sun.jna.PointerType;
-import com.sun.jna.Structure;
-import com.sun.jna.Pointer;
-import com.sun.jna.Native;
-import com.sun.jna.Callback;
-import com.sun.jna.ptr.PointerByReference;
+import static org.jvnet.libpam.impl.CLibrary.libc;
+
 import java.util.Arrays;
 import java.util.List;
-import static org.jvnet.libpam.impl.CLibrary.libc;
+
+import com.sun.jna.Callback;
+import com.sun.jna.Library;
+import com.sun.jna.Native;
+import com.sun.jna.Pointer;
+import com.sun.jna.PointerType;
+import com.sun.jna.Structure;
+import com.sun.jna.ptr.PointerByReference;
 
 /**
  * libpam.so binding.
  *
- * See http://www.opengroup.org/onlinepubs/008329799/apdxa.htm
- * for the online reference of pam_appl.h
+ * See http://www.opengroup.org/onlinepubs/008329799/apdxa.htm for the online reference of pam_appl.h
  *
  * @author Kohsuke Kawaguchi
  */
 public interface PAMLibrary extends Library {
+    
+    final int PAM_USER = 2;
+
+    // error code
+    final int PAM_SUCCESS = 0;
+    final int PAM_CONV_ERR = 6;
+
+    final int PAM_PROMPT_ECHO_OFF = 1; /* Echo off when getting response */
+    final int PAM_PROMPT_ECHO_ON = 2; /* Echo on when getting response */
+    final int PAM_ERROR_MSG = 3; /* Error message */
+    final int PAM_TEXT_INFO = 4; /* Textual information */
+
+    public static final PAMLibrary libpam = Native.loadLibrary("pam", PAMLibrary.class);
+    
+    
     class pam_handle_t extends PointerType {
-        public pam_handle_t() {}
-        public pam_handle_t(Pointer pointer) { super(pointer); }
+        public pam_handle_t() {
+        }
+
+        public pam_handle_t(Pointer pointer) {
+            super(pointer);
+        }
     }
 
     class pam_message extends Structure {
@@ -53,6 +73,7 @@
             read();
         }
 
+        @Override
         protected List getFieldOrder() {
             return Arrays.asList("msg_style", "msg");
         }
@@ -67,14 +88,15 @@
     }
 
     class pam_response extends Structure {
+        
+        public static final int SIZE = new pam_response().size();
+        
         /**
-         * This is really a string, but this field needs to be malloc-ed by the conversation
-         * method, and to be freed by the caler, so I bind it to {@link Pointer} here.
+         * This is really a string, but this field needs to be malloc-ed by the conversation method, and to be freed by the
+         * caler, so I bind it to {@link Pointer} here.
          *
-         * The man page doesn't say that, but see
-         * http://www.netbsd.org/docs/guide/en/chap-pam.html#pam-sample-conv
-         * This behavior is confirmed with a test, too; if I don't do strdup,
-         * libpam crashes.
+         * The man page doesn't say that, but see http://www.netbsd.org/docs/guide/en/chap-pam.html#pam-sample-conv This
+         * behavior is confirmed with a test, too; if I don't do strdup, libpam crashes.
          */
         public Pointer resp;
         public int resp_retcode;
@@ -87,17 +109,18 @@
             read();
         }
 
-        public pam_response() {}
+        public pam_response() {
+        }
 
         /**
          * Sets the response code.
          */
         public void setResp(String msg) {
-           this.resp = libc.strdup(msg);
+            this.resp = libc.strdup(msg);
         }
 
         protected Pointer getResp() {
-           return resp;
+            return resp;
         }
 
         public void setRespCode(int resp_retcode) {
@@ -108,22 +131,21 @@
             return resp_retcode;
         }
 
+        @Override
         protected List getFieldOrder() {
             return Arrays.asList("resp", "resp_retcode");
         }
-
-        public static final int SIZE = new pam_response().size();
     }
 
     class pam_conv extends Structure {
         public interface PamCallback extends Callback {
             /**
-             * According to http://www.netbsd.org/docs/guide/en/chap-pam.html#pam-sample-conv,
-             * resp and its member string both needs to be allocated by malloc,
-             * to be freed by the caller.
+             * According to http://www.netbsd.org/docs/guide/en/chap-pam.html#pam-sample-conv, resp and its member string both needs
+             * to be allocated by malloc, to be freed by the caller.
              */
             int callback(int num_msg, Pointer msg, Pointer resp, Pointer pointer);
         }
+
         public PamCallback conv;
         public Pointer pointer;
 
@@ -131,34 +153,31 @@
             this.conv = conv;
         }
 
+        @Override
         protected List getFieldOrder() {
             return Arrays.asList("conv", "pointer");
         }
-        protected PamCallback getConv(){
+
+        protected PamCallback getConv() {
             return conv;
         }
     }
 
     int pam_start(String service, String user, pam_conv conv, PointerByReference/* pam_handle_t** */ pamh_p);
+
     int pam_end(pam_handle_t handle, int pam_status);
+
     int pam_set_item(pam_handle_t handle, int item_type, String item);
+
     int pam_get_item(pam_handle_t handle, int item_type, PointerByReference item);
+
     int pam_authenticate(pam_handle_t handle, int flags);
+
     int pam_setcred(pam_handle_t handle, int flags);
+
     int pam_acct_mgmt(pam_handle_t handle, int flags);
+
     String pam_strerror(pam_handle_t handle, int pam_error);
 
-    final int PAM_USER = 2;
-
-    // error code
-    final int PAM_SUCCESS = 0;
-    final int PAM_CONV_ERR = 6;
-
-
-    final int PAM_PROMPT_ECHO_OFF  = 1; /* Echo off when getting response */
-    final int PAM_PROMPT_ECHO_ON   = 2; /* Echo on when getting response */
-    final int PAM_ERROR_MSG        = 3; /* Error message */
-    final int PAM_TEXT_INFO        = 4; /* Textual information */
-
-    public static final PAMLibrary libpam = (PAMLibrary)Native.loadLibrary("pam",PAMLibrary.class);
+    
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisCLibrary.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisCLibrary.java
index 3c5a34e..e621da7 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisCLibrary.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisCLibrary.java
@@ -22,6 +22,7 @@
  */
 public interface SolarisCLibrary extends CLibrary {
 
-  SolarisPasswd getpwnam(String username);
+    @Override
+    SolarisPasswd getpwnam(String username);
 
 }
diff --git a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisPasswd.java b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisPasswd.java
index 67b92df..a2c8fd7 100644
--- a/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisPasswd.java
+++ b/appserver/libpam4j/src/main/java/org/jvnet/libpam/impl/SolarisPasswd.java
@@ -26,13 +26,13 @@
  * Solaris passwd
  *
  * struct passwd {
- *   char    *pw_name;
- *   char    *pw_passwd;
- *   uid_t   pw_uid;
- *   gid_t   pw_gid;
- *   char    *pw_gecos;
- *   char    *pw_dir;
- *   char    *pw_shell;
+ *      char *pw_name;
+ *      char *pw_passwd;
+ *      uid_t pw_uid;
+ *      gid_t pw_gid;
+ *      char *pw_gecos;
+ *      char *pw_dir;
+ *      char* *pw_shell;
  * };
  *
  * @author Sebastian Sdorra
@@ -44,7 +44,6 @@
 
     public String pw_shell;
 
-
     @Override
     public String getPwGecos() {
         return pw_gecos;
@@ -63,8 +62,7 @@
     @Override
     protected List getFieldOrder() {
         List fieldOrder = new ArrayList(super.getFieldOrder());
-        fieldOrder.addAll(Arrays.asList("pw_gecos",
-                "pw_dir", "pw_shell"));
+        fieldOrder.addAll(Arrays.asList("pw_gecos", "pw_dir", "pw_shell"));
         return fieldOrder;
     }
 
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java
index 69a0314..cf53bcc 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/FelixPrettyPrinter.java
@@ -160,7 +160,8 @@
 
         List<Integer> ids = findBundleIds(test1);
 
-        String test2 = prettyPrintExceptionMessage(" Unable to resolve org.glassfish.main.resources.mail-connector [29](R 29.0): missing requirement [org.glassfish.main.resources.mail-connector [29](R 29.0)] osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.resources.admin.cli)(version>=7.0.0)(!(version>=8.0.0))) [caused by: Unable to resolve org.glassfish.main.resources.connector [217](R 217.0): missing requirement [org.glassfish.main.resources.connector [217](R 217.0)] osgi.wiring.package; (&(osgi.wiring.package=com.sun.enterprise.repository)(version>=7.0.0)(!(version>=8.0.0))) [caused by: Unable to resolve org.glassfish.main.deployment.dol [284](R 284.0): missing requirement [org.glassfish.main.deployment.dol [284](R 284.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.enterprise.inject.spi)(version>=3.0.0)(!(version>=4.0.0))) [caused by: Unable to resolve jakarta.enterprise.cdi-api [127](R 127.0): missing requirement [jakarta.enterprise.cdi-api [127](R 127.0)] osgi.wiring.package; (&(osgi.wiring.package=jakarta.enterprise.lang.model)(version>=4.0.0)(!(version>=5.0.0)))]]] Unresolved requirements: [[org.glassfish.main.resources.mail-connector [29](R 29.0)] osgi.wiring.package; (&(osgi.wiring.package=org.glassfish.resources.admin.cli)(version>=7.0.0)(!(version>=8.0.0)))] ");
+        String test2 = prettyPrintExceptionMessage("  Unable to resolve org.apache.felix.scr [304](R 304.0): missing requirement [org.apache.felix.scr [304](R 304.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.10.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.felix.scr [304](R304.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.10.0)(!(version>=2.0.0)))]\n"
+                + "at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398) ");
 
 
         System.out.println(test2);