title: Is there any sense in such kind of refactoring?
body: <p>Given web service method:</p>
  
  <pre><code>public void FindSomeEntities(int? Id, string param1, int? param2, ...)
  </code></pre>
  
  <p>Refactored:</p>
  
  <pre><code>public void FindSomeEntities(SelectionParameters selectionParameters)
  
  class SelectionParameters
  {
      public int? Id;
      public string param1;
      public int? param2
      ...
  }
  </code></pre>
  
  <p>Pros:</p>
  
  <ol>
  <li>too many parameters in original web service method reduced to the
  only one</li>
  <li>if there is need to change we won't have to change the
  interface of the method - only the definition of SelectionParameters</li>
  </ol>
  
  <p>Cons:</p>
  
  <ol>
  <li>class SelectionParameters hasn't any business value - it's used only
  as helper class and it's used in a single method. As a result we'll
  have many methods with 1 parameters and plenty of one-off classes</li>
  <li>Actually the interface IS changed, we just push these changes a bit
  deeper.</li>
  </ol>