add support for converting to java optional
diff --git a/lib/java/src/org/apache/thrift/Option.java b/lib/java/src/org/apache/thrift/Option.java
index f02eae0..6b036df 100644
--- a/lib/java/src/org/apache/thrift/Option.java
+++ b/lib/java/src/org/apache/thrift/Option.java
@@ -19,6 +19,8 @@
 
 package org.apache.thrift;
 
+import java.util.Optional;
+
 /**
  * Implementation of the Option type pattern
  */
@@ -54,6 +56,19 @@
             return other;
         }
     }
+
+    /**
+     * Turn this Option into Java 8 Optional type
+     * @return Java 8+ Optional Type
+     */
+    public Optional<T> toOptional() {
+        if (isDefined()) {
+            return Optional.of(get());
+        } else {
+            return Optional.empty();
+        }
+    }
+
     /**
      * The None type, representing an absent value (instead of "null")
      */