Program: 164727
Project: 164727
Buggy source:
/** 
 * Allows execution to proceed into the real implementation of the mocked method/constructor. <p/> In the case of a mocked method, the real implementation is executed with the argument values originally received or explicitly given as replacement. Whatever comes out of that call (either a return value or a thrown exception/error, even if it is a <em>checked</em> exception) becomes the result of the current invocation to the mock method. <p/> In the case of a mocked constructor, the real constructor implementation code which comes after the necessary call to "<code>super</code>" is executed, using the original argument values; replacement arguments are not supported. If the execution of said code throws an exception or error, it is propagated out to the caller of the mocked constructor (even in the case of a <em>checked</em> exception). Contrary to proceeding into a mocked method, it's not possible to actually execute test code inside the delegate method after proceeding into the real constructor, nor to proceed into it more than once.
 * @param replacementArguments the argument values to be passed to the real method, as replacement for the valuesreceived by the mock method; if those received values should be passed without replacement, then this method should be called with no values
 * @param < T > the return type of the mocked method
 * @return the same value returned by the real method, if any
 * @throws UnsupportedOperationException if attempting to proceed into a mocked method which does not belong to an{@linkplain Injectable injectable mocked type} nor to a {@linkplain Expectations#Expectations(Object) dynamicpartially mocked type}, into a   {@code native} method, or into a mocked constructor while passing replacementarguments
 * @throws IllegalArgumentException if replacement arguments were given but they are the same as the invokedarguments
 * @see <a href="http://jmockit.org/tutorial/Faking.html#proceed">Tutorial</a>
 */
public final <T>T proceed(Object... replacementArguments){
  if (replacementArguments == invokedArguments) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return ((BaseInvocation)this).doProceed(replacementArguments);
}

Fixed version (ground truth):
/** 
 * Allows execution to proceed into the real implementation of the mocked method/constructor. <p/> In the case of a mocked method, the real implementation is executed with the argument values originally received or explicitly given as replacement. Whatever comes out of that call (either a return value or a thrown exception/error, even if it is a <em>checked</em> exception) becomes the result of the current invocation to the mock method. <p/> In the case of a mocked constructor, the real constructor implementation code which comes after the necessary call to "<code>super</code>" is executed, using the original argument values; replacement arguments are not supported. If the execution of said code throws an exception or error, it is propagated out to the caller of the mocked constructor (even in the case of a <em>checked</em> exception). Contrary to proceeding into a mocked method, it's not possible to actually execute test code inside the delegate method after proceeding into the real constructor, nor to proceed into it more than once.
 * @param replacementArguments the argument values to be passed to the real method, as replacement for the valuesreceived by the mock method; if those received values should be passed without replacement, then this method should be called with no values
 * @param < T > the return type of the mocked method
 * @return the same value returned by the real method, if any
 * @throws UnsupportedOperationException if attempting to proceed into a mocked method which does not belong to an{@linkplain Injectable injectable mocked type} nor to a {@linkplain Expectations#Expectations(Object) dynamicpartially mocked type}, into a   {@code native} method, into a mocked constructor while passing replacementarguments, or into an interface or abstract method
 * @throws IllegalArgumentException if replacement arguments were given but they are the same as the invokedarguments
 * @see <a href="http://jmockit.org/tutorial/Faking.html#proceed">Tutorial</a>
 */
public final <T>T proceed(Object... replacementArguments){
  if (replacementArguments == invokedArguments) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return ((BaseInvocation)this).doProceed(replacementArguments);
}