code: public int compareTo(final Object pvObject1, final Object pvObject2) {
  		int lvCompareToValue = 0;
  		if (pvObject1 == null) {
  			throw new NullPointerException("First arg by compareTo is Null");
  		}
  		if (pvObject2 == null) {
  			throw new NullPointerException("Second arg by compareTo is Null");
  		}
  
  		if (pvObject1 != pvObject2) {
  			CompareResult[] lvCompareResults = compareIntern(pvObject1, pvObject2, false);
  			if (lvCompareResults != null) {
  				for (int i = 0; i < lvCompareResults.length; i++) {
  					int zw = lvCompareResults[i].getCompareToValue();
  					lvCompareToValue = lvCompareToValue + zw;
  				}
  			}
  		}
  		return lvCompareToValue;
  	}
docs: If parameter are <code>java.lang.Comparable</code> than delegate to the <code>compareTo</code> method
  of the first parameter object.
  <br>
  By JavaBean are all properties comparing and add the several compareTo results.
  They are one property <code>+1</code> and the second property <code>-1</code>,
  then is the complete value <code>0</code>.
  
  @param pvObject1 To comparing first value (must be unequals <code>null</code>).
  @param pvObject2 To comparing second value (must be unequals <code>null</code>).
  @return a negative integer, zero, or a positive integer as this object is less than,
  equal to, or greater than the specified object.