title: RxJava combineLatest - observable from changes
body: <p>I create form with 15 inputs and I want observe those inputs to check if something was changed, I compare results of inputs with current <code>userModel</code>. How can I reduce that code because seems to be little bit complicated. It looks like that:</p>
  
  <pre><code>Observable.combineLatest(fieldsViewHolder.observableInputsChanges(), new FuncN&lt;Boolean&gt;() {
              @Override
              public Boolean call(Object... args) {
  
                  if(userModel != null) {
                      return args[0].toString().equals(userModel.getFirstName()) &amp;&amp; args[1].toString().equals(userModel.getLastName()) &amp;&amp; args[2].toString().equals(userModel.getEmail()) &amp;&amp;
                              args[3].toString().equals(userModel.getMobilePhone()) &amp;&amp; args[4].toString().equals(userModel.getCompanyPlace()) &amp;&amp; args[5].toString().equals(userModel.getCompanyName()) &amp;&amp;
                              args[6].toString().equals(userModel.getCountry()) &amp;&amp; args[7].toString().equals(userModel.getCompanyPosition()) &amp;&amp; args[8].toString().equals(userModel.getPhone()) &amp;&amp;
                              args[9].toString().equals(userModel.getPostalCode()) &amp;&amp; args[10].toString().equals(userModel.getStreet1()) &amp;&amp; args[11].toString().equals(userModel.getStreet2()) &amp;&amp;
                              args[12].toString().equals(userModel.getFirstName()) &amp;&amp; args[13].toString().equals(userModel.getWebPage()) &amp;&amp; args[14].toString().equals(userModel.getCity());
                  }
                  return args[0].toString().isEmpty() &amp;&amp; args[1].toString().isEmpty() &amp;&amp; args[2].toString().isEmpty() &amp;&amp;
                      args[3].toString().isEmpty() &amp;&amp; args[4].toString().isEmpty() &amp;&amp; args[5].toString().isEmpty() &amp;&amp;
                      args[6].toString().isEmpty() &amp;&amp; args[7].toString().isEmpty() &amp;&amp; args[8].toString().isEmpty() &amp;&amp;
                      args[9].toString().isEmpty() &amp;&amp; args[10].toString().isEmpty() &amp;&amp; args[11].toString().isEmpty() &amp;&amp;
                      args[12].toString().isEmpty() &amp;&amp; args[13].toString().isEmpty() &amp;&amp; args[14].toString().isEmpty();
              }
          });
  </code></pre>