@Override
                public void write(IApimanBuffer chunk) {
                    if (firstChunk) {
                        IApimanBuffer buffer = bufferFactory.createBuffer(callbackFunctionName.length()
                                + OPEN_PARENTHESES.length());
                        try {
                            buffer.append(callbackFunctionName, encoding);
                            buffer.append(OPEN_PARENTHESES, encoding);
                        } catch (UnsupportedEncodingException e) {
                            // TODO Review the exception handling. A better approach might be throwing an IOException.
                            throw new RuntimeException(e);
                        }
                        // Write callbackFunctionName(
                        super.write(buffer);
                        firstChunk = false;
                    }
                    super.write(chunk);
                }
@see io.apiman.gateway.engine.policy.IDataPolicy#getResponseDataHandler(io.apiman.gateway.engine.beans.ApiResponse, io.apiman.gateway.engine.policy.IPolicyContext, java.lang.Object)
plugins/jsonp-policy/src/main/java/io/apiman/plugins/jsonp_policy/JsonpPolicy.java