subVal = Array.get(m_PropertyArray, m_CustomNumber);
subVal = Array.get(m_PropertyArray, m_PropertyNumber);
  protected void setProperty(int propertyDepth, Object origValue)    throws Exception {        PropertyDescriptor current = m_PropertyPath[propertyDepth].property;    Object subVal = null;    if (propertyDepth < m_PropertyPath.length - 1) {      Method getter = current.getReadMethod();      Object getArgs [] = { };      subVal = getter.invoke(origValue, getArgs);      setProperty(propertyDepth + 1, subVal);    } else {      subVal = Array.get(m_PropertyArray, m_CustomNumber);    }    Method setter = current.getWriteMethod();    Object [] args = { subVal };    setter.invoke(origValue, args);  }