(ParameterBlock)nodeSupport.getParameterBlock().clone();
// If there are any hints set on the node, create a new
// RenderContext which merges them with those in the RenderContext
// passed in with the passed in hints taking precedence.
RenderContext rcIn = renderContext;
RenderingHints nodeHints = nodeSupport.getRenderingHints();
if(nodeHints != null) {
RenderingHints hints = renderContext.getRenderingHints();
RenderingHints mergedHints;
if (hints == null) {
mergedHints = nodeHints;
} else if (nodeHints == null || nodeHints.isEmpty()) {
mergedHints = hints;
} else {
mergedHints = new RenderingHints((Map)nodeHints);
mergedHints.add(hints);
}
if(mergedHints != hints) {
rcIn = new RenderContext(renderContext.getTransform(),
renderContext.getAreaOfInterest(),
mergedHints);
}
}
// Get all sources - whether rendered or renderable.
Vector sources = nodeSupport.getParameterBlock().getSources();
try {
if (sources != null) {
Vector renderedSources = new Vector();
for (int i = 0; i < sources.size(); i++) {
RenderedImage rdrdImage = null;
Object source = sources.elementAt(i);
if (source instanceof RenderableImage) {
RenderContext rcOut =
remoteCRIF.mapRenderContext(
serverName,
nodeSupport.getOperationName(),
i,
renderContext,