String key = getKeyFromMethod( method ); return handler.getContextValue( key );
String key = EntryDescriptor.getEntryKey( method ); Object value = handler.getContextValue( key ); if( null != value ) { return value; } else if( args.length > 0 ) { return args[0]; } else { final String error = "Unable to resolve a context entry value for the key [" + key + "]."; throw new IllegalStateException( error ); }
    public Object invoke( final Object proxy, final Method method, final Object[] args ) throws Throwable    {        Class source = method.getDeclaringClass();        if( Object.class == source )        {            return method.invoke( this, args );        }        else        {            ComponentHandler handler = getComponentHandler();            String name = method.getName();            if( name.startsWith( "get" ) )            {                String key = getKeyFromMethod( method );                return handler.getContextValue( key );            }            /*            if( ( null != args ) && ( args.length == 1 ) )            {                if( "addPropertyChangeListener".equals( name ) )                {                    PropertyChangeListener listener = (PropertyChangeListener) args[0];                    handler.addPropertyChangeListener( listener );                    return null;                }                else if( "removePropertyChangeListener".equals( name ) )                {                    PropertyChangeListener listener = (PropertyChangeListener) args[0];                    handler.removePropertyChangeListener( listener );                    return null;                }            }            */            throw new NoSuchMethodException( name );        }    }