title: indexed object dot notation method gives scalar property
body: <p>I'm seeing an issue when I try and reference an object property after having used a dot notation to apply a method. 
  it only occurs when I try to index the initial object</p>
  
  <pre><code>classdef myclassexample
  
  properties
      data
  end    
  
  methods   
      function obj = procData(obj)            
          if numel(obj)&gt;1
              for i = 1:numel(obj)
                  obj(i) = obj(i).procData;
              end
              return
          end
          %do some processing
          obj.data = abs(obj.data);
      end
  end
  end
  </code></pre>
  
  <p>then assigning the following</p>
  
  <pre><code>A = myclassexample;
  A(1).data= - -1;
  A(2).data =  -2;
  </code></pre>
  
  <p>when calling the whole array and collecting the property data it works fine</p>
  
  <pre><code>[A.procData.data]
  </code></pre>
  
  <p>if i try and index A then i only get a scalar out</p>
  
  <pre><code>[A([1 2]).procData.data]
  </code></pre>
  
  <p>even though it seems to do fine without the property call</p>
  
  <pre><code>B  = A([1 2]).procData;
  [B.data]
  </code></pre>
  
  <p>any ideas?</p>