private void registerFlush(final String flushWith, final FlushListener flushListener) { final String[] keysSplit = OR_PATTERN.split(flushWith); for (final String key : keysSplit) { final FlushListener interceptor = interceptorFactory.createFlushInterceptor(flushListener); final FlushListener delegate; if (interceptor == null) { delegate = flushListener; } else { delegate = interceptor; } if (key.equals(RECORD)) { metamorph.registerRecordEndFlush(delegate); } else { metamorph.registerNamedValueReceiver(key, new Flush(delegate)); } } }