@@ -0,0 +1,1047 @@
+package stexfires.core.logger;%0A%0Aimport stexfires.core.Record;%0Aimport stexfires.core.message.RecordMessage;%0A%0Aimport java.util.Collection;%0Aimport java.util.Objects;%0A%0A/**%0A * @author Mathias Kalb%0A * @since 0.1%0A */%0A@SuppressWarnings(%22AssignmentOrReturnOfFieldWithMutableType%22)%0Apublic class CollectionLogger%3CT extends Record, R extends Collection%3CString%3E%3E implements RecordLogger%3CT%3E %7B%0A%0A    protected final Object lock = new Object();%0A%0A    protected final R collection;%0A    protected final RecordMessage%3C? super T%3E recordMessage;%0A%0A    public CollectionLogger(R collection, RecordMessage%3C? super T%3E recordMessage) %7B%0A        Objects.requireNonNull(collection);%0A        Objects.requireNonNull(recordMessage);%0A        this.collection = collection;%0A        this.recordMessage = recordMessage;%0A    %7D%0A%0A    @Override%0A    public void log(T record) %7B%0A        String message = recordMessage.createMessage(record);%0A        synchronized (lock) %7B%0A            collection.add(message);%0A        %7D%0A    %7D%0A%0A    public R getCollection() %7B%0A        return collection;%0A    %7D%0A%0A%7D%0A

Add CollectionLogger