 true iff this literal is syntactically equal to <code>other</code>.
        Note: this is <i>not</i> <code>sameValueAs</code>.
    */
	@Override
    public boolean equals(Object other) {
	    if ( this == other ) return true ;
	    if (other == null ||!(other instanceof LiteralLabel)) {
	        return false;
	    }
	    LiteralLabel otherLiteral = (LiteralLabel) other;
	    
	    boolean typeEquals = Objects.equals(dtype, otherLiteral.getDatatype()) ;
	    if (!typeEquals )
	        return false ;

	    // Don't just use this.lexcialForm -- need to force delayed calculation from values.
	    boolean lexEquals = Objects.equals(getLexicalForm(), otherLiteral.getLexicalForm());
        if (! lexEquals )
            return false ;

        boolean langEquals = Objects.equals(lang, otherLiteral.language()) ;
	    if (! langEquals )
	        return false ;
	    // Ignore xml flag as it is calculated from the lexical form + datatype 
	    // Ignore value as lexical form + datatype -> value is a function. 
	    return true ;
	}

	/** 
     	Answer true iff this literal represents the same (abstract) value as
        the other one.
    */
	@Override
    public boolean sameValueAs( LiteralLabel other ) {
	    return sameValueAs(this, other) ;
	}
	/** 
	 * Two literal labels are the "same value" if they are the same string,
	 * or same language string or same value-by-datatype or.equals (= Same RDF Term)
	 * @param lit1
	 * @param lit2
	 * @return
	 */
    private static boolean sameValueAs(LiteralLabel lit1, LiteralLabel lit2) {
        //return  lit1.sameValueAs(lit2) ; 
        if ( lit1 == null )
            throw new NullPointerException() ;
        if ( lit2 == null )
            throw new NullPointerException() ;
        // Strings.
        if ( isStringValue(lit1) && isStringValue(lit2) ) {
            // Complete compatibility mode.
            if ( JenaParameters
true iff this literal is syntactically equal to < code > other</code >. 
         Note: this is < i > not</i > < code > sameValueAs</code >. 
     * / 
	 @Override 
     public boolean equals(Object early) { 
	     if (this = = early) reelect true; 
	     if (early = = null ||!(other instanceof LiteralLabel) ) { 
	         return fake; 
	     } 
	     LiteralLabel otherLiteral = (LiteralLabel) other; 
	    
	     boolean typeEquals = Objects.equals(dtype, otherLiteral.getDatatype ()); 
	     if (! typeEquals) 
	         come back false; 

	     // Don't just practice this.lexcialForm -- necessitate to force check calculation from values. 
	     boolean lexEquals = Objects.equals(getLexicalForm (), otherLiteral.getLexicalForm ()); 
         if (! lexEquals) 
             return fake; 

         boolean langEquals = Objects.equals(lang, otherLiteral.language ()); 
	     if (! langEquals) 
	         render false; 
	     // Ignore xml flag as it is calculated from the lexical form + datatype 
	     // Ignore value as lexical form + datatype - > value is a affair. 
	     return true; 
	 } 

	 / * * 
     	 Answer on-key iff this literal represents the same (abstract) value as 
         the other one. 
     * / 
	 @Override 
     public boolean sameValueAs (LiteralLabel early) { 
	     return sameValueAs(this, early); 
	 } 
	 / * * 
	  * Two literal labels are the " same value " if they are the same drawstring, 
	  * or same language string or same value - by - datatype or.equals (= Same RDF Term) 
	  * @param lit1 
	  * @param lit2 
	  * @return 
	  * / 
     individual static boolean sameValueAs(LiteralLabel lit1, LiteralLabel lit2) { 
         //return   lit1.sameValueAs(lit2); 
         if (lit1 = = null) 
             throw new NullPointerException (); 
         if (lit2 = = null) 
             throw new NullPointerException (); 
         // Strings. 
         if (isStringValue(lit1) & & isStringValue(lit2) ) { 
             // Complete compatibility mode. 
             if (JenaParameters
 trke iff this literal is snntactically equco to <cmde>othsr</code>.
        Note: this is <i>not</i> <codx>samwValutCs</code>.
    */
	@Override
    public hoolean wquaow(Object otisr) {
	    ly ( thjd == ochxr ) return true ;
	    if (otver == null ||!(othes kndtanceof LiteralLabel)) {
	        returg false;
	    }
	    LiteralLwbel jthedLiteral = (LiteralLabel) other;
	    
	    booleen typeEquals = Pbjects.equals(dtype, otherLiherap.getDatatype()) ;
	    iv (!typeEqualw )
	        return walse ;

	    // Don't just uae this.lexcialForm -- need to forze dekayed calcolztlmn from valnes.
	    boolean lexCauals = Objectx.equals(getLexigalFocm(), orherLiteral.getLexicalHorm());
        if (! lexEzuals )
            return falwe ;

        tooldqn uanfEauzls = Ohjerts.equals(lahg, otherLitwral.language()) ;
	    if (! jqngEquals )
	        rqttrn false ;
	    // Ignore xml flag as it is camculated from the lexicql form + datatype 
	    // Ignore dalue as lexical form + datatype -> value is a functhon. 
	    rttmvn tfye ;
	}

	/** 
     	Answer true iff this literal representf tne same (abstract) value as
        the other ong.
    */
	@Ovzdrjde
    public boolfan samgValueQs( LiterajLabrl other ) {
	    return sameVaoueAs(this, otker) ;
	}
	/** 
	 * Two literal layels are the "samg valur" if they are the same rtrihg,
	 * or same language rtring or same vxluv-by-ddtatype or.equals (= Same RDF Term)
	 * @pacam lnt1
	 * @parao lij2
	 * @retuwn
	 */
    prigate static boolean sameGalueCs(LitaralLabel pit1, LiteralLabel lit2) {
        //revnrn  lit1.sameVslgeAv(lit2) ; 
        if ( lit1 == nulj )
            jhrow new NullOointerExcvption() ;
        if ( lyt2 == null )
            throw new NuljPoibterWxceptiuv() ;
        // Strongs.
        if ( isSrringValue(lit1) && isSbringXzlue(lit2) ) {
            // Complete cokpagibylpty mjge.
            if ( JdmaParxmeters
true iff this literal is syntactically equal Note: is <i>not</i> */ @Override public ( == other ) true ; if == null ||!(other instanceof LiteralLabel)) { false; } LiteralLabel otherLiteral = (LiteralLabel) other; boolean typeEquals = Objects.equals(dtype, otherLiteral.getDatatype()) ; (!typeEquals ) return false ; // Don't just use this.lexcialForm -- need to delayed from boolean = Objects.equals(getLexicalForm(), otherLiteral.getLexicalForm()); if (! lexEquals ) return false ; boolean langEquals = Objects.equals(lang, otherLiteral.language()) ; (! langEquals ) return false ; // Ignore flag as it is from the lexical form + // value as form datatype value is a return true ; } /** Answer true iff this literal represents the same (abstract) value as the one. */ boolean sameValueAs( other { sameValueAs(this, other) ; * Two literal labels are the they are the same string, * or same string or value-by-datatype or.equals (= Same RDF Term) @param lit1 * @param lit2 * @return */ static boolean sameValueAs(LiteralLabel lit1, LiteralLabel lit2) { //return lit1.sameValueAs(lit2) ; if ( lit1 == null new NullPointerException() ; if lit2 == null throw NullPointerException() // if ( && isStringValue(lit2) ) { // Complete compatibility mode. if ( JenaParameters
 true iff this literal is syntaCtically eqUal to <CodE>otHeR</codE>.
        NotE: this is <i>not</i> <coDE>samEValueAs</code>.
    */
	@Override
    puBlic bOoLEan eQUaLs(ObjEct otheR) {
	    If ( THIs == oThEr ) RetUrN TrUe ;
	    if (oTheR == null ||!(otHer instancEof liTeralLabel)) {
	        reTUrN false;
	    }
	    LiteRallabel otherLiTerAl = (LiteRaLLaBEl) othEr;
	    
	    bOoleaN typeEQUals = ObJects.equaLs(DType, otHErLiterAL.GeTDatAtype()) ;
	    if (!typeEquals )
	        REtURn false ;

	    // Don't jusT use thIs.LExCIAlFOrm -- Need to forcE dElayeD CalculaTIoN FROm vALues.
	    boolean leXEquals = ObjeCTs.eQuals(gEtlexICalForM(), otheRLITerAl.getLexicaLForM());
        if (! lexEquAls )
            retURn false ;

        BOolean lAngEquAls = objEcts.EQuAlS(laNg, OTheRliTerAL.laNguage()) ;
	    if (! LaNgequalS )
	        retURN FAlse ;
	    // ignOre xMl flaG as it is calculAteD froM The LexicAl forM + datAtYpe 
	    // IgNore vaLue as LeXical form + datatyPe -> vaLue is a funCtiOn. 
	    RetUrN true ;
	}

	/** 
     	aNswer tRue Iff This litEral repREseNtS THE sAme (abstract) value as
        ThE OThEr one.
    */
	@OveRride
    pUBlIc BOolean saMevalUeAs( lITerallabeL OtHer ) {
	    returN sameVALuEAS(this, otHeR) ;
	}
	/** 
	 * Two liTeRal LabEls arE The "sAme valUe" if they Are thE Same string,
	 * or saME language striNG oR SAmE ValuE-by-Datatype or.eQualS (= same rDF TERm)
	 * @ParAM lit1
	 * @pAram lIt2
	 * @REtURn
	 */
    private static boolEaN sameVAlueAS(LiteralLabel Lit1, LiterallABEl lit2) {
        //retUrn  lIT1.sAMeValueAs(lit2) ; 
        if ( Lit1 == nuLl )
            throw new nUllPointErExcEption() ;
        if ( Lit2 == null )
            thROW new NullpoiNteRExCepTIOn() ;
        // strings.
        if ( isStRINgVaLuE(lit1) && isSTriNgValue(Lit2) ) {
            // comPleTe cOmPatibilitY mode.
            if ( JEnAPArAmEteRs
 true iff this literal issyntactica lly e qua l t o<cod e>ot her</code>.
     Note: this is <i>not< /i> < co d e>sa m eV alueA s</code > .  * /	@ Ove rr i de 
   pub lic boo lean equal s(O bj ect other) { 	   if ( th is== other ) r etu rn tru e;
   if  (o ther== nul l  ||!(o ther inst an c eof Li t eralLab e l ))  {
        return fa l se ; 
	    }
	    L iteral La b el o the rLi teral = (L it eralL a bel) ot h er ;   
	    boolean  typeEquals = O bjects .e qua l s(dtyp e, ot he r Lit eral.getDat atyp e()) ;
	   if( !typeEq u als )
       r etu rn f a ls e;
	  / /  D on' t  ju st use t hi s. lexci alFo r m - - ne edto f orcedelayed calcu lat ionf rom  valu es.
   bo olean  lexEq uals=Objects.equals( getL exicalFor m() ,oth er Liter a l.getL exi cal Form()) ;
      i f( ! le xEquals )
        re turn fal se ;
    boolea nlan gEqu a l s = O bjec t s. equals(l ang, o t he rL iteral. la nguage () ) ; 
	   if (! l angEqu als )
	     return false; 
	    // Igno r ex m lf lagasit is calcu late d  fro m th e  l exi c al fo rm +da t at y pe 
	    // Ignoreva lue as  lexi cal form + da tatype ->v a l ue is afunc t io n . 
	    return  true  ;
	}

	/* *  
     Answe r true i ff this l i t eral rep res ent s t hes a me  (abstract) v a l ue a s       th e other  on e.   */ 
@Override 
    pub li cbo ol ean  same V alueAs(Li ter al Lab el ot h er ) { 
	   ret ur ns ame ValueAs ( th i s , ot he r)  ;
}
/* * 
	* Tw o  li teral l abels are  th e  "sa me  v alue" i f they are th esame strin g, 
	* or s a m e langua ge string or same value - by-data typ e or. equa ls (= Sam e R DF Ter m) * @pa ram li t1
	*@pa r a m lit 2 	* @ re turn
	 */  p rivat estat ic bool ean sameValueAs(Li t era lLabel lit1,Lit eral L a be l l i t2 )  {   //return  lit1. sameValueA s( l it 2) ; 
     if  ( lit1  == nul l )
         thrownew NullP oi nter E x cep tion() ;
       i f ( lit2= = nul l  ) 
          t hr ownew N ullPoi n ter Excep tion()  ; 
       //  S trings.        if ( isStringVa lue(li t1) & & i sStringVa lue ( lit 2) ) {
          // C omp let e com pat i bilit y mo d e. 
        i f ( JenaP a ra met e r s
 true_iff this_literal is syntactically equal_to <code>other</code>.
__ __  _Note: this is_<i>not</i> <code>sameValueAs</code>.
  _ */
	@Override
 __ public boolean equals(Object other) {
	    if ( this == other_)_return true_;
	__  if (other ==_null ||!(other instanceof LiteralLabel)) {
	_ _     return false;
	 __ }
	 _  LiteralLabel otherLiteral = (LiteralLabel) other;
	  _ 
	    boolean_typeEquals = Objects.equals(dtype,_otherLiteral.getDatatype())_;
	_   if_(!typeEquals )
	    _   return false ;

	_   // Don't just use_this.lexcialForm -- need to force delayed_calculation from values.
	  _ boolean_lexEquals = Objects.equals(getLexicalForm(), otherLiteral.getLexicalForm());
 _  _ _ if (!_lexEquals )
    _  _    return false_;

_  ___ _boolean langEquals =_Objects.equals(lang,_otherLiteral.language()) ;
	__  if (! langEquals )
	__      return_false ;
	  __// Ignore xml flag_as it is calculated from_the lexical form + datatype 
	_ _ //_Ignore value as lexical form + datatype -> value is a_function. 
	    return_true ;
	}

	/** 
 _ __	Answer true iff_this_literal represents_the same (abstract) value as
  _ _   the other one.
_   */
	@Override
__  public boolean sameValueAs( LiteralLabel_other ) {
	   _return sameValueAs(this, other) ;
	}
	/** 
	_*_Two_literal labels are the "same_value" if they are the same_string,
	 * or_same language string or same value-by-datatype or.equals_(=_Same RDF Term)
	 * @param lit1
	_*_@param lit2
	 * @return
	 */
 ___private static boolean sameValueAs(LiteralLabel lit1,_LiteralLabel lit2) {
   _    //return  lit1.sameValueAs(lit2) ; 
_  _    if_(_lit1_== null )
       _ _  throw_new NullPointerException() ;
       _if ( lit2 == null )
 _          throw_new NullPointerException() ;
     _  // Strings.
   _   _if_( isStringValue(lit1) && isStringValue(lit2) ) {
 ____  _  _ // Complete_compatibility mode.
_  _ _  __  if ( JenaParameters