/
CDC-1.2b/
CDC-1.2b/src/
parent $lock_class
object $or_lock_class

var $root owners []
var $root owned [$or_lock_class]
var $root manager $or_lock_class
var $root writable [$or_lock_class]
var $root readable ['parameters, 'methods, 'code]
var $root dbref 'or_lock_class

method new
    arg lhs, rhs;
    
    if ((type(lhs) != 'frob) || (type(rhs) != 'frob))
        throw(~perm, "Arguments are not both frobs.");
    return <this(), [lhs, rhs]>;
.

method try
    arg lock, obj;
    
    return ((lock[1]).try(obj)) || ((lock[2]).try(obj));
.