diff --git a/lib/java/src/org/apache/thrift/Option.java b/lib/java/src/org/apache/thrift/Option.java
index db25ec5..d5cd309 100644
--- a/lib/java/src/org/apache/thrift/Option.java
+++ b/lib/java/src/org/apache/thrift/Option.java
@@ -24,6 +24,9 @@
  */
 public abstract class Option<T> {
 
+    @SuppressWarnings("rawtypes")
+    private static final Option NONE = new None();
+
     /**
      * Whether the Option is defined or not
      * @return
@@ -87,7 +90,7 @@
         }
 
         public String toString() {
-            return "Some("+value.toString()+")";
+            return "Some(" + value + ")";
         }
     }
 
@@ -99,9 +102,9 @@
      */
     public static <T> Option<T> fromNullable(T value) {
         if (value != null) {
-            return new Some<T>(value);
+            return some(value);
         } else {
-            return new None<T>();
+            return none();
         }
     }
 
@@ -115,7 +118,8 @@
         return new Some<T>(value);
     }
 
+    @SuppressWarnings("unchecked")
     public static <T> None<T> none() {
-        return new None<T>();
+        return (None<T>) NONE;
     }
 }
\ No newline at end of file
