/** * Merge two copystream listeners, either or both of which may be null. * * @param local the listener used by this class, may be null * @return a merged listener or a single listener or null * @since 3.0 */ private CopyStreamListener __mergeListeners(CopyStreamListener local) { if (local == null) { return __copyStreamListener; } if (__copyStreamListener == null) { return local; } // Both are non-null CopyStreamAdapter merged = new CopyStreamAdapter(); merged.addCopyStreamListener(local); merged.addCopyStreamListener(__copyStreamListener); return merged; }