docs: private Object getTarget(Map<String, Command> references) throws Exception
  	{
  		if (target == null)
  		{
  			if (isReference())
  			{
  				Command cmd = references.get(getAttr("idref")); //$NON-NLS-1$
  				target = (cmd != null) ? cmd.getResultValue() : null;
  			}
  			else if (isExecutable())
  			{
  				String className = null;
  
  				if (isPrimitive())
  				{
  					className = getPrimitiveClassName(tagName);
  				}
  				else if (isTag("class")) { //$NON-NLS-1$
  					className = getPrimitiveClassName(tagName);
  				}
  				else if (isConstructor() || isStaticMethod() || isField())
  				{
  					className = getAttr("class"); //$NON-NLS-1$
  				}
  				else if (isArray())
  				{
  					className = getAttr("class"); //$NON-NLS-1$
  					Class<?> componentType = isPrimitiveClassName(className) ? getPrimitiveClass(className) : Class.forName(className, true, Thread
  							.currentThread().getContextClassLoader());
  					className = Array.newInstance(componentType, 0).getClass().getName();
  				}
  
  				if (className != null)
  				{
  					try
  					{
  						target = Class.forName(className, true, Thread.currentThread().getContextClassLoader());
  					}
  					catch (ClassNotFoundException e)
  					{
  						target = Class.forName(className);
  					}
  
  					if (isField())
  					{
  						String fieldName = getAttr("field"); //$NON-NLS-1$
  						target = ((Class<?>) target).getField(fieldName);
  					}
  				}
  				else
  				{
  					throw new Exception(Messages.getString("beans.42", className)); //$NON-NLS-1$
  				}
  			}
  			else if (ctx.isArray())
  			{
  				// target = ctx.getTarget(references);
  				target = Class.forName("java.lang.reflect.Array"); //$NON-NLS-1$
  			}
  		}
  		return target;
  	}