+ return Optional.fromNullable(priority);
+ }
+
+ public HandlingPriority increasePriority(int priorityIncrease) {
+ Preconditions.checkState(priority!=null, "Unable to increase priority for %s", this);
+ Preconditions.checkArgument(priorityIncrease > 0, "Negative increase");
+ Preconditions.checkArgument(Long.valueOf(priority) + priorityIncrease < Integer.MAX_VALUE,
+ "Resulting priority cannot be higher than %s", Integer.MAX_VALUE);
+ return getHandlingPriority(priority + priorityIncrease);
+ }
+
+ public boolean isCannotHandle() {
+ return this.equals(CANNOT_HANDLE);