This is my implementation of java Optional class with some additional functions and features.