// static method call (.of) for object creation (new)
Optional<Circle> oc = Optional.of(new Circle(1.0))
// method call with explicit type argument
// type argument fills up the type parameter "T" in Optional<T>
Optional.<Circle>of(new Circle(1.0))
// type argument