class SourceServicesImpl implements SourceServices {

    @Override
    public SourceService getServiceFor( final Path path ) {
        try {
            final SourceService sourceService = getMatchingSourceService( path );
            if ( sourceService == null ) {
                throw new IllegalArgumentException( "No SourceService found for '" + path + "'." );
            }
            return sourceService;

        } catch ( Exception e ) {
            throw ExceptionUtilities.handleException( e );
        }
    }

    public  SourceServicesImpl();
    @Inject public  SourceServicesImpl( @Any Instance<SourceService<?>> sourceServiceList );

}