@Override
  public boolean canRepresent(final Object element) {
    if (!mayContain(element)) return false;
    if (!isValid()) return false;
    return super.canRepresent(element) || canRepresent(getValue(), element);
  }
@Override
  public boolean canRepresent(final Object element)