@@ -0,0 +1,829 @@
+/*%0A * To change this license header, choose License Headers in Project Properties.%0A * To change this template file, choose Tools %7C Templates%0A * and open the template in the editor.%0A */%0Apackage doublex.lib.lockableContainers;%0A%0A/**%0A *%0A * @author DoubleX%0A * @param %3CC%3E%0A * @param %3CK%3E%0A */%0Apublic final class SyncLockableContainer%3CC, K%3E implements IContainable%3CC%3E %7B%0A%0A    private final IContainable%3CC%3E mLockableContainer;%0A%0A    public SyncLockableContainer(final IContainable%3CC%3E lockableContainer) %7B%0A        mLockableContainer = lockableContainer;%0A    %7D%0A%0A    @Override%0A    public final synchronized void tryPutContents(final C contents) %7B%0A        mLockableContainer.tryPutContents(contents);%0A    %7D%0A%0A    @Override%0A    public final synchronized C triedTakenContents() %7B%0A        return mLockableContainer.triedTakenContents();%0A    %7D%0A    %0A%7D%0A

Create SyncLockableContainer.java