public boolean isUserModified() {
        final boolean hasModifiedCoordinates = (isOriginalCoordsEmpty() && (getCoords() != null || getCalcStateConfig() != null) || hasProjection());
        return isUserDefined() || isVisited() || hasModifiedCoordinates || StringUtils.isNotBlank(getUserNote());
    }
returns true if either this is a user defined waypoint or some data of
the waypoint was modified by the user
main/src/main/java/cgeo/geocaching/models/Waypoint.java