holder = holderFactory.createHolder(official_components);
holder = HolderLocator.createHolder(official_components);
  public void from_any(Any an_any)                throws TypeMismatch, InvalidValue  {    checkType(official_type, an_any.type());    try      {        Streamable s = an_any.extract_Streamable();        Object members = s.getClass().getField("value").get(s);        checkArrayValid(members);        Any member;        Streamable holder;        Class holderClass = null;        for (int i = 0; i < array.length; i++)          {            if (holderClass == null)              {                holder = holderFactory.createHolder(official_components);                if (holder == null)                  holder = holderFactory.createHolder(final_components);                holderClass = holder.getClass();              }            else              holder = (Streamable) holderClass.newInstance();            member = createAny();            holder.getClass().getField("value").set(holder,                                                    Array.get(members, i)                                                   );            member.insert_Streamable(holder);            member.type(official_components);            // This may lead to recursion, supporting multidimensional            // arrays.            array [ i ].from_any(member);          }      }    catch (Exception ex)      {        TypeMismatch t = new TypeMismatch();        t.initCause(ex);        throw t;      }    valueChanged();  }