code: private boolean isSame(Option option1, Option option2) {
  		
  		if (option1 == null || option2 == null) {
  			return false;
  		} if (option1.equals(option2)) {
  			return true;
  		}
  		
  		String 	index1 = (option1.getIndex() == null)?null:Integer.toString(option1.getIndex()),
  				index2 = (option2.getIndex() == null)?null:Integer.toString(option2.getIndex());
  		
  		boolean isValidIndex = validField(index1, index2); 
  		boolean isValidValue = validField(option1.getValue(), option2.getValue());
  		boolean isValidText = validField(option1.getText(),option2.getText());
  		
  		return isValidIndex && isValidValue && isValidText;
  	}
docs: This method makes easy to compare between two option components. There are 2 rules
  implemented:<br/>
  - only class attributes not null in both classes are evaluated;<br/>
  - all evaluable attributes must be equals.
  @return Returns true only if the 2 rules above are true. Otherwise the return is false.