code: @Override
  	public int compareTo(final OperatingSystemPattern other) {
  		int result = other == null ? -1 : 0;
  		if (result == 0) {
  			result = CompareNullSafe.compareInt(getPosition(), other.getPosition());
  			if (result == 0) {
  				result = CompareNullSafe.compareInt(getId(), other.getId());
  			}
  			if (result == 0) {
  				result = getPattern().pattern().compareTo(other.getPattern().pattern());
  			}
  			if (result == 0) {
  				result = CompareNullSafe.compareInt(getPattern().flags(), other.getPattern().flags());
  			}
  		}
  		return result;
  	}
docs: Compares all attributes of this instance with the given instance of a {@code OperatingSystemPattern}.
  
  <p>
  This method is <em>consistent with equals</em>.
  
  @param other
  another instance of {@code OperatingSystemPattern}
  @return negative value if one of the attributes of this instance is less, 0 if equal, or positive value if
  greater than the other one