diff --git a/src/main/java/org/apache/hadoop/tar/HadoopTar.java b/src/main/java/org/apache/hadoop/tar/HadoopTar.java
index cf663db0aba1d050785a56c8627451ef018ae752..f3bd5855c291783c74ccbdb3cc30f3368c13b697 100644
--- a/src/main/java/org/apache/hadoop/tar/HadoopTar.java
+++ b/src/main/java/org/apache/hadoop/tar/HadoopTar.java
@@ -23,8 +23,8 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.io.IOException;
-import java.net.URI;
 import java.util.List;
+import java.util.Arrays;
 import java.util.LinkedList;
 
 import org.apache.commons.cli.PosixParser;
@@ -33,18 +33,13 @@ import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.HelpFormatter;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
-import org.apache.commons.cli.OptionGroup;
 import org.apache.commons.cli.Options;
-import org.apache.commons.cli.Parser;
 
 import org.apache.commons.logging.*;
 
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.io.compress.GzipCodec;
-import org.apache.hadoop.io.LongWritable;
-import org.apache.hadoop.io.Text;
 
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.util.ReflectionUtils;
 import org.apache.hadoop.util.Tool;
@@ -52,7 +47,6 @@ import org.apache.hadoop.util.ToolRunner;
 
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
 
@@ -68,6 +62,7 @@ public class HadoopTar extends Configured implements Tool {
 
   public static final Log LOG = LogFactory.getLog(HadoopTar.class);
 
+  @SuppressWarnings("static-access")
   private Option createBoolOption(String name, String longopt, String desc){
     if( name.isEmpty() ){
       return OptionBuilder.withDescription(desc)
@@ -79,6 +74,8 @@ public class HadoopTar extends Configured implements Tool {
                           .create(name);
     }
   }
+
+  @SuppressWarnings("static-access")
   private Option createOption(String name, String longopt,
                               String desc,
                               String argName, int max,
@@ -101,6 +98,7 @@ public class HadoopTar extends Configured implements Tool {
            .create(name);
     }
   }
+
   private void setupOptions() {
     Option verbose = createBoolOption("v", "verbose", "print verbose output");
     Option create   = createBoolOption("c", "create", "create a new archive" );
@@ -156,7 +154,7 @@ public class HadoopTar extends Configured implements Tool {
   }
 
   //Almost a copy of IOUtils.java:copyBytes
-  //except it explicitlys set how many bytes to copy
+  //except it explicitly set how many bytes to copy
   private void copyBytes(InputStream in, OutputStream out,
                          int buffSize, long size ) throws IOException {
     if( size == 0 ) {
@@ -200,7 +198,7 @@ public class HadoopTar extends Configured implements Tool {
         name.charAt(0) == '/' ) {
         name = name.substring(1);
     }
-    if( fileStatus.isDir() ) {
+    if( fileStatus.isDirectory() ) {
       entry.setName(name + "/");
       entry.setSize(0);
       os.putNextEntry(entry);
@@ -234,12 +232,11 @@ public class HadoopTar extends Configured implements Tool {
     return p;
   }
 
-  private Path [] getTopSrcPaths(Path curDirPath, List args,
+  private Path [] getTopSrcPaths(Path curDirPath, List<String> args,
                             boolean keepAbsolutePath ) throws IOException {
     List<Path> listOfPath = new LinkedList<Path>();
-    for (Object arg : args ) {
-      String str = (String) arg;
-      Path p = new Path(str);
+    for (String arg : args ) {
+      Path p = new Path(arg);
       if( p.isAbsolute() && !keepAbsolutePath ) {
         System.err.println("Removing leading '/' from member names");
       }
@@ -260,7 +257,7 @@ public class HadoopTar extends Configured implements Tool {
     return listOfPath.toArray(new Path[0] );
   }
 
-  private void create(OutputStream os, Path curDirPath, List args,
+  private void create(OutputStream os, Path curDirPath, List<String> args,
                       boolean keepAbsolutePath, boolean optionVerbose )
                       throws IOException {
 
@@ -295,8 +292,8 @@ public class HadoopTar extends Configured implements Tool {
     FileSystem ofs = curDirPath.getFileSystem(getConf());
 
     if( ! dryrun ) {
-      if( !ofs.isDirectory(curDirPath) ) {
-        fail("No such directory [" + curDirPath.makeQualified(ofs) + "]");
+      if( !ofs.getFileStatus(curDirPath).isDirectory() ) {
+        fail("No such directory [" + ofs.makeQualified(curDirPath) + "]");
       }
     }
 
@@ -399,9 +396,9 @@ public class HadoopTar extends Configured implements Tool {
     String curDir = (String)cmdLine.getOptionValue("directory", ".");
 
     Path curDirPath = new Path(curDir);
-    curDirPath = curDirPath.makeQualified(curDirPath.getFileSystem(getConf()));
+    curDirPath = curDirPath.getFileSystem(getConf()).makeQualified(curDirPath);
 
-    List list = cmdLine.getArgList() ;
+    List<String> list = Arrays.asList(cmdLine.getArgs());
 
     CompressionCodec codec = null;
     if( cmdLine.hasOption("compress")) {