if (((!"layout".equals(str1)) && (!"errorhandler".equals(str1))) || (!(this.obj instanceof Appender)))
{
PropertyDescriptor localPropertyDescriptor = getPropertyDescriptor(Introspector.decapitalize(str1));
if ((localPropertyDescriptor != null) && (OptionHandler.class.isAssignableFrom(localPropertyDescriptor.getPropertyType())) && (localPropertyDescriptor.getWriteMethod() != null))
{
OptionHandler localOptionHandler = (OptionHandler)OptionConverter.instantiateByKey(paramProperties, paramString + str1, localPropertyDescriptor.getPropertyType(), null);
PropertySetter localPropertySetter = new PropertySetter(localOptionHandler);
localPropertySetter.setProperties(paramProperties, paramString + str1 + ".");
try
{
localPropertyDescriptor.getWriteMethod().invoke(this.obj, new Object[] { localOptionHandler });