@ Override public Class [ ] getParameterTypes ( ) { Class [ ] a , b , result ; a = base . getParameterTypes ( ) ; b = para . getParameterTypes ( ) ; result = new Class [ a . length - 1 + b . length ] ; System . arraycopy ( a , 0 , result , 0 , idx ) ; System . arraycopy ( b , 0 , result , idx , b . length ) ; System . arraycopy ( a , idx + 1 , result , idx + b . length , a . length - ( idx + 1 ) ) ; return result ; }
Gets the argument count . The parameter function takes away 1 argument from the base function but it adds its own arguments .