1. A method for comparing a first object and a second object in an object-oriented operating system comprising the steps of: (a) determining whether the first object is equal to the second object; (b) obtaining one or more methods from said first object and said second object if said objects are not equal; (c) determining whether the one or more methods from said first object are equal to the one or more methods from said second object; and (d) recursively performing steps (b) and (c) until there are no more methods to decompose.