@@ -0,0 +1,857 @@
+/*%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.locks;%0A%0A/**%0A *%0A * @author DoubleX%0A * @param %3CK%3E%0A */%0Apublic final class SyncLocks%3CK%3E %7B%0A%0A    private final Locks%3CK%3E mLocks;%0A%0A    public SyncLocks(final Locks%3CK%3E locks) %7B%0A        mLocks = locks;%0A    %7D%0A%0A    public final ILockable%3CK%3E lock(final String key) %7B%0A        return mLocks.lock(key);%0A    %7D%0A%0A    public final boolean isLocked() %7B%0A        return mLocks.isLocked();%0A    %7D%0A%0A    public final synchronized void tryPutLock(%0A            final String key, final ILockable%3CK%3E lock) %7B%0A        mLocks.tryPutLock(key, lock);%0A    %7D%0A%0A    public final synchronized ILockable%3CK%3E triedTakenLock(final String key) %7B%0A        return mLocks.triedTakenLock(key);%0A    %7D%0A%0A%7D%0A

Create SyncLocks.java