docs: boolean canCastToTypeAndSatisfyConstraints( Value value,
                                                  JcrSession session ) {
          try {
              assert value instanceof JcrValue : "Illegal implementation of Value interface";
              ((JcrValue)value).asType(getRequiredType()); // throws ValueFormatException if there's a problem
              return satisfiesConstraints(value, session);
          } catch (javax.jcr.ValueFormatException | org.modeshape.jcr.value.ValueFormatException vfe) {
              // Cast failed
              return false;
          }
      }