docs: public static OWLValueObject buildFromOWLValue(OWLModel model, OWLValue value) throws NotYetImplementedException, OWLTranslationException {
          if (value.isDataValue()) {
              return new OWLValueObject(model, OWLURIClass.from(value.castTo(OWLDataValue.class).getValue()), value);
          }
          if (value.isIndividual()) {
              try {                
                  if (value instanceof OWLListImpl) {
                      OWLList<OWLIndividual> owlList = (OWLListImpl) value;
                      OWLURIClass owlURIClass = OWLURIClass.from(ObjectOWLSTranslator.owlIndividualToClass(owlList.iterator().next()));
                      return new OWLValueObject(model, owlURIClass, value);                    
                  }
                  if (value.canCastTo(Result.class)) {
                      return buildFromOWLValueAndClass(model, value, ObjectOWLSTranslator.owlsResultToClass(value.castTo(Result.class)));
                  }
                  if (value.canCastTo(OWLIndividual.class)) {
                      return buildFromOWLValueAndClass(model, value, ObjectOWLSTranslator.owlIndividualToClass(value.castTo(OWLIndividual.class)));
                  }                
              } catch (ClassNotFoundException ex) {
                  throw new OWLTranslationException("casting OWLValue: " + value.toString(), ex);
              }
          }
          throw new NotYetImplementedException("fail to build new " + OWLValueObject.class.toString() + " from: " + value.toString());
      }