Hi everyone, first post! I am new to the forum, decided to join because I have always lurked the forum, but never actually participated. I have been working as a developer for almost a year now here at a private company in Puerto Rico, and it has been a life changing and fun experience! I finally am practicing the profession of my dreams and I couldn't be happier! But needless to say, I do run into hurdles from time to time and still consider myself a Jr. Developer and nothing more; but always learning!

Our projects here have mostly been based in ASP.NET, utilizing DotNetNuke CMS, creating web controls we typically program in Visual Basic or C#. The projects have been challenging, but at the same time it's really simple stuff. We are now in the process of integrating a WEBDAV server with our project so that a user can edit a document in the server and not have to go through the trouble of downloading and uploading a file multiple times. I have begun messing around with their SDK, and have successfully uploaded a few files from the server, but I am having trouble understanding their API; and more specifically this diagram: webDAV Client Library Diagram

What kind of Diagram is this? A class diagram?
Also is everything inherited from the top-down?
Or how would I read the diagram to understand WHAT is Required and what is simply just optional? Honestly this has been one of my biggest obstacles pertaining this job so far, but I really just want to understand! Please help someone!

WebDav Client API

Very Good Weekend to Everyone!