"equals" as a method name should be exclusively used to override Object.equals(Object).
Return of boolean expressions should not be wrapped into an if-else statement.
Fix the circular reference in toString() methods of DmsProject and ProjectProperty which could lead to StackOverflow error when these objects are used in string operations.