[Demonstration 1]

[Buggy Method]
public ISoftphoneCall call(final String caller, final String callee, final String visibleName, final Boolean isVideoCall, Map<String, String> inviteParameters) throws SoftphoneException, LicenseRestictionException {
    Logger.logger.info(4, "RtmpClient.call() " + callee);
    ISoftphoneCall call = getSoftphone().call(caller, callee, visibleName, isVideoCall, inviteParameters);
    streamStart(login, call.getId());
    return call;
}

[Buggy Hunk]
ISoftphoneCall call = getSoftphone().call(caller, callee, visibleName, isVideoCall, inviteParameters);

[Patch]
ISoftphoneCall call = getSoftphone().call(caller, callee, visibleName, isVideoCall);

[Demonstration 2]

[Buggy Method]
public boolean isPressable() {
    Type lastType = Calculator.currentCalculation.getCurrentCalculation().expression.get(Calculator.currentCalculation.expression.size() - 1).type;
    if (type == Type.NON_MINUS_OPERATOR) {
        if (lastType == Type.DECIMAL) {
            return false;
        }
        return true;
    }
    if (type == Type.NON_MINUS_OPERATOR) {
        return true;
    }
    if (type == Type.NON_MINUS_OPERATOR) {
        return true;
    }
    if (type == Type.NON_MINUS_OPERATOR) {
        return true;
    }
    if (type == Type.NON_MINUS_OPERATOR) {
        return true;
    }
    if (type == Type.NON_MINUS_OPERATOR) {
        return true;
    }
    return true;
}

[Buggy Hunk]
Type lastType = Calculator.currentCalculation.getCurrentCalculation().expression.get(Calculator.currentCalculation.expression.size()-1).type;

[Patch]
Type lastType = Calculator.currentCalculation.getLastTyped();

[Demonstration 3]

[Buggy Method]
public static HttpRequest createRequest(RpcContext context, Object object) throws SerializationException, ContextException {
    /* validate current preprocessor context (if exists) */
    if (context.getRequestPreprocessor() != null)
        context.getRequestPreprocessor().validateContext(object);
    RpcObject annotation = object.getClass().getAnnotation(RpcObject.class);
    if (annotation == null) {
        Logger.error(TAG, String.format("Attempted to create a request from non-RpcObject"));
        return null;
    }
    FieldNameTransformer remote, local;
    local = context.getLocalFieldNameTransformer();
    remote = context.getRemoteFieldNameTransformer();
    try {
        if (annotation.remoteName() != RpcObject.NULL.class)
            remote = (FieldNameTransformer) annotation.remoteName().newInstance();
        if (annotation.localName() != RpcObject.NULL.class)
            local = (FieldNameTransformer) annotation.localName().newInstance();
    } catch (InstantiationException e) {
        e.printStackTrace();
        Logger.error(TAG, "Failed to create request.");
        return null;
    } catch (IllegalAccessException e) {
        e.printStackTrace();
        Logger.error(TAG, "Failed to create request.");
        return null;
    }
    FieldNameTranslator nameTranslator = new FieldNameTranslator(remote, local);
    Map<String, Object> parameters = new HashMap<String, Object>();
    int method = annotation.method();
    String uri = buildUri(context, object, annotation, parameters, nameTranslator);
    if (uri == null) {
        Logger.error(TAG, "Failed to create request.");
        return null;
    }
    HttpRequest request = new HttpRequest(method, uri);
    request.setNameTranslator(nameTranslator);
    request.putParameters(parameters);
    request.setRequestObject(object);
    /* set request body */
    Class serializerCls = annotation.requestSerializer();
    if (method == HttpRequest.Methods.POST || method == HttpRequest.Methods.PUT) {
        if (serializerCls == RpcObject.NULL.class && context.getRequestSerializer() == null)
            serializerCls = UrlEncodedFormEncoder.class;
        if (serializerCls != RpcObject.NULL.class) {
            try {
                RequestSerializer serializer = (RequestSerializer) serializerCls.newInstance();
                request.putHeader(HttpRequest.HEADER_CONTENT_TYPE, serializer.serializationContentType());
                request.setRequestBody(serializer.serializeObject(object, nameTranslator));
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        } else if (context.getRequestSerializer() != null) {
            RequestSerializer serializer = context.getRequestSerializer();
            request.putHeader(HttpRequest.HEADER_CONTENT_TYPE, serializer.serializationContentType());
            request.setRequestBody(serializer.serializeObject(object, nameTranslator));
        } else {
            Logger.warn(TAG, String.format("Current RpcObject %1$s does not have " + "RequestSerializer specified.", object.getClass().getName()));
        }
    }
    /* apply custom request processing middleware */
    if (context.getRequestPreprocessor() != null)
        context.getRequestPreprocessor().processHttpRequest(request);
    return request;
}

[Buggy Hunk]
request.putHeader(HttpRequest.HEADER_CONTENT_TYPE, serializer.serializationContentType());

[Patch]
request.setContentType(serializer.serializationContentType());