final public EJBMethodInfoImpl get(String methodSignature,
                                       String methodNameOnly,
                                       EJSWrapperBase wrapper,
                                       MethodInterface methodInterface, // d164221
                                       TransactionAttribute txAttr) // 199625
    {
        EJBMethodInfoImpl retVal = null;
        BeanMetaData bmd = wrapper.bmd;
        setup(bmd);// delay initting array so we can get slot count
        //d151861
        if ((topOfStack < 0) || orig)
        {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                Tr.debug(tc, "EJBMethodInfoStack::get called with neg TopOfStack " +
                             "or in orig mode:" + topOfStack + " orig: " + orig);
            orig = true;
            elements = null;//d166651
            retVal = bmd.createEJBMethodInfoImpl(bmd.container.getEJBRuntime().getMetaDataSlotSize(MethodMetaData.class));

        }//d151861
        else
        {
            if (topOfStack < elements.length)
            {
                retVal = elements[topOfStack++];
            }
            else
            {
                ++topOfStack;
                retVal = bmd.createEJBMethodInfoImpl(bmd.container.getEJBRuntime().getMetaDataSlotSize(MethodMetaData.class));
            }
        }

        retVal.initializeInstanceData(null, methodNameOnly, bmd, methodInterface, txAttr, false);
        return retVal;
    }
final public EJBMethodInfoImpl get ( String methodSignature , String methodNameOnly , EJSWrapperBase wrapper , MethodInterface methodInterface , TransactionAttribute txAttr ) { EJBMethodInfoImpl retVal = null ; BeanMetaData bmd = wrapper . bmd ; setup ( bmd ) ; if ( ( topOfStack < 0 ) || orig ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "EJBMethodInfoStack::get called with neg TopOfStack " + "or in orig mode:" + topOfStack + " orig: " + orig ) ; orig = true ; elements = null ; retVal = bmd . createEJBMethodInfoImpl ( bmd . container . getEJBRuntime ( ) . getMetaDataSlotSize ( MethodMetaData . class ) ) ; } else { if ( topOfStack < elements . length ) { retVal = elements [ topOfStack ++ ] ; } else { ++ topOfStack ; retVal = bmd . createEJBMethodInfoImpl ( bmd . container . getEJBRuntime ( ) . getMetaDataSlotSize ( MethodMetaData . class ) ) ; } } retVal . initializeInstanceData ( null , methodNameOnly , bmd , methodInterface , txAttr , false ) ; return retVal ; }
Get an instance of EJBMethodInfoImpl.
Either return EJBMethod off the stack or new up a new instance after
stack capacity is exhausted returns EJBMethodInfoImpl