code: boolean canCastToType( Value[] values ) {
          for (Value value : values) {
              if (!canCastToType(value)) return false;
          }
          return true;
      }
docs: Returns <code>true</code> if <code>value</code> can be cast to <code>property.getRequiredType()</code> per the type
  conversion rules in section 3.6.4 of the JCR 2.0 specification. If the property definition has a required type of
  {@link PropertyType#UNDEFINED}, the cast will be considered to have succeeded.
  
  @param values the values to be validated
  @return <code>true</code> if the value can be cast to the required type for the property definition (if it exists).