public final void rule__JvmFormalParameter__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbaseWithAnnotations.g:11842:1: ( ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) )
            // InternalXbaseWithAnnotations.g:11843:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
            {
            // InternalXbaseWithAnnotations.g:11843:1: ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? )
            // InternalXbaseWithAnnotations.g:11844:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); 
            }
            // InternalXbaseWithAnnotations.g:11845:2: ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )?
            int alt97=2;
            int LA97_0 = input.LA(1);

            if ( (LA97_0==RULE_ID) ) {
                int LA97_1 = input.LA(2);

                if ( (LA97_1==RULE_ID||LA97_1==27||LA97_1==43||LA97_1==57) ) {
                    alt97=1;
                }
            }
            else if ( (LA97_0==31||LA97_0==52) ) {
                alt97=1;
            }
            switch (alt97) {
                case 1 :
                    // InternalXbaseWithAnnotations.g:11845:3: rule__JvmFormalParameter__ParameterTypeAssignment_0
                    {
                    pushFollow(FOLLOW_2);
                    rule__JvmFormalParameter__ParameterTypeAssignment_0();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
public final void rule__JvmFormalParameter__Group__0__Impl ( ) throws RecognitionException { int stackSize = keepStackSize ( ) ; try { { { if ( state . backtracking == 0 ) { before ( grammarAccess . getJvmFormalParameterAccess ( ) . getParameterTypeAssignment_0 ( ) ) ; } int alt97 = 2 ; int LA97_0 = input . LA ( 1 ) ; if ( ( LA97_0 == RULE_ID ) ) { int LA97_1 = input . LA ( 2 ) ; if ( ( LA97_1 == RULE_ID || LA97_1 == 27 || LA97_1 == 43 || LA97_1 == 57 ) ) { alt97 = 1 ; } } else if ( ( LA97_0 == 31 || LA97_0 == 52 ) ) { alt97 = 1 ; } switch ( alt97 ) { case 1 : { pushFollow ( FOLLOW_2 ) ; rule__JvmFormalParameter__ParameterTypeAssignment_0 ( ) ; state . _fsp -- ; if ( state . failed ) return ; } break ; } if ( state . backtracking == 0 ) { after ( grammarAccess . getJvmFormalParameterAccess ( ) . getParameterTypeAssignment_0 ( ) ) ; } } } } catch ( RecognitionException re ) { reportError ( re ) ; recover ( input , re ) ; } finally { restoreStackSize ( stackSize ) ; } return ; }
InternalXbaseWithAnnotations.g:11838:1: rule__JvmFormalParameter__Group__0__Impl : ( ( rule__JvmFormalParameter__ParameterTypeAssignment_0 )? ) ;