code: public Concept setConceptForObjectInstance() throws SemanticModelException
      {
          Concept foundConcept = null;
          if (null != getObject() && getObject() instanceof Instance && null != subjectInstance)
          {
              SemanticAxiom semanticAxiom = subjectInstance.getConcept().semanticAxiom();
              if (semanticAxiom instanceof Concept)
              {
                  Property foundProperty = ((Concept) semanticAxiom).getProperty(name);
                  if (null != foundProperty && foundProperty.getObject() instanceof SemanticAxiom)
                  {
                      SemanticAxiom axiomForPropertyObject = ((SemanticAxiom) foundProperty.getObject()).semanticAxiom();
                      if (axiomForPropertyObject instanceof Concept)
                      {
                          foundConcept = (Concept) axiomForPropertyObject;
                      }
                  }
              }
              Instance objectInstance = (Instance) getObject();
              objectInstance.setConcept(foundConcept);
          }
          return foundConcept;
      }
docs: When the "object" (as in subject-predicate-object) is an Instances, it
  knows how to set its Concept (because that Concept is the object of the
  Concept Property that holds the same name of this PropertyValue)
  
  @return
  @throws SemanticModelException