public Object getInstance ( ) { try { if ( prototype ) { return doGetInstance ( ) ; } else { synchronized ( cache ) { if ( ! cache . containsKey ( type ) ) { cache . put ( type , doGetInstance ( ) ) ; } return cache . get ( type ) ; } } } catch ( IrohException e ) { throw e ; } catch ( Exception e ) { throw new FailedConstructionException ( e ) ; } }
Retrieves an instance of this source s type respecting scoping rules .