public <T> T getMetaData(String key)
    {
        T result = null;
        if (!this.metaDataStack.isEmpty()) {
            for (MetaData metaData : this.metaDataStack) {
                result = (T) metaData.getMetaData(key);
                if (result != null) {
                    break;
                }
            }
        }
        return result;
    }
public < T > T getMetaData ( String key ) { T result = null ; if ( ! this . metaDataStack . isEmpty ( ) ) { for ( MetaData metaData : this . metaDataStack ) { result = ( T ) metaData . getMetaData ( key ) ; if ( result != null ) { break ; } } } return result ; }
@param <T> the type of the value for the passed key
@param key the key for which to find the value
@return the accumulated MetaData during all the previous begin/endMetaData events, for the passed key