// Path: src/util/src/main/java/org/lilycms/util/ObjectUtils.java
// public class ObjectUtils {
//     public static boolean safeEquals(Object obj1, Object obj2) {
//         if (obj1 == null && obj2 == null)
//             return true;
//         else if (obj1 == null || obj2 == null)
//             return false;
//         else
//             return obj1.equals(obj2);
//     }
// }


import org.lilycms.util.ObjectUtils;
import java.io.Serializable;
        return this.uri;
    }

    /**
     * Get the line number of this location
     *
     * @return the line number (<code>-1</code> if unknown)
     */
    public int getLineNumber() {
        return this.line;
    }

    /**
     * Get the column number of this location
     *
     * @return the column number (<code>-1</code> if unknown)
     */
    public int getColumnNumber() {
        return this.column;
    }

    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }

        if (obj instanceof Location) {
            Location other = (Location) obj;
            return this.line == other.getLineNumber() &&
                    this.column == other.getColumnNumber() &&
// Path: src/util/src/main/java/org/lilycms/util/ObjectUtils.java
// public class ObjectUtils {
//     public static boolean safeEquals(Object obj1, Object obj2) {
//         if (obj1 == null && obj2 == null)
//             return true;
//         else if (obj1 == null || obj2 == null)
//             return false;
//         else
//             return obj1.equals(obj2);
//     }
// }


// Path: src/util/src/main/java/org/lilycms/util/location/LocationImpl.java
import org.lilycms.util.ObjectUtils;
import java.io.Serializable;

        return this.uri;
    }

    /**
     * Get the line number of this location
     *
     * @return the line number (<code>-1</code> if unknown)
     */
    public int getLineNumber() {
        return this.line;
    }

    /**
     * Get the column number of this location
     *
     * @return the column number (<code>-1</code> if unknown)
     */
    public int getColumnNumber() {
        return this.column;
    }

    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }

        if (obj instanceof Location) {
            Location other = (Location) obj;
            return this.line == other.getLineNumber() &&
                    this.column == other.getColumnNumber() &&
                    ObjectUtils.safeEquals(this.uri, other.getURI()) &&