code: public Source resolve( String pHref, String pBase )
          throws TransformerException
      {
  
          URL url = null;
          
          final Source source = resolver.resolve( pHref, pBase );
          
          if ( source != null )
          {
              if ( xincludeAware )
              {
                  /*
                   * Avoid risky cast use correct resolved systemid
                   * to configure a xinclude aware source. 
                   */
                  try
                  {
                      url = new URI( source.getSystemId() ).toURL();
                  }
                  catch ( Exception e )
                  {
                      throw new TransformerException( e );
                  }
              }
              else
              {
                  return source;
              }
          }
  
          if ( null == url )
          {
              url = resolve( pHref );     //probably should call new method resolve(String,URI) but left alone for legacy reasons.
          }
  
          if ( url != null )
          {
              try
              {
                  return asSaxSource( asInputSource( url ) );
              }
              catch ( IOException e )
              {
                  throw new TransformerException( e );
              }
              catch ( SAXException e )
              {
                  throw new TransformerException( e );
              }
              catch ( ParserConfigurationException e )
              {
                  throw new TransformerException( e );
              }
          }
          return null;
      }
docs: Implementation of {@link URIResolver#resolve(String, String)}.