code: @Scope(DocScope.IO)
      public <T> T read(final Class<T> projectionInterface) throws IOException {
          Class<?> callerClass = null;
          if (IOHelper.isResourceProtocol(url)) {
              callerClass = ReflectionHelper.getDirectCallerClass();
          }
          Document document = IOHelper.getDocumentFromURL(projector.config().createDocumentBuilder(), url, requestProperties, projectionInterface, callerClass);
          return projector.projectDOMNode(document, projectionInterface);
      }
docs: Create a new projection using a given URL parameter. When the URL starts with the protocol
  identifier "resource://" the classloader of projection interface will be used to read the
  resource from the current class path.
  
  @param projectionInterface
  A Java interface to project the data on.
  @return a new projection instance.
  @throws IOException