title: what is the difference between required and Provided interfaces
body: <p>I know in general :</p>
  
  <p>an interface is a reference type, it is similar to a class, 
  that can contain only constants, method signatures, default methods, static methods, and nested types. Method bodies exist only for default methods and static methods. Interfaces cannot be instantiated—they can only be implemented by classes or extended by other interfaces ?</p>
  
  <p>But what is the difference between required and Provided interfaces ?</p>