No need to nest in else.
diff --git a/src/main/java/org/apache/commons/ognl/ASTAdd.java b/src/main/java/org/apache/commons/ognl/ASTAdd.java
index bcf6c9e..89885e9 100644
--- a/src/main/java/org/apache/commons/ognl/ASTAdd.java
+++ b/src/main/java/org/apache/commons/ognl/ASTAdd.java
@@ -98,11 +98,11 @@
         {
             return false;
         }
-        else if ( parent == null && String.class.isAssignableFrom( lastType.getGetterClass() ) )
+        if ( parent == null && String.class.isAssignableFrom( lastType.getGetterClass() ) )
         {
             return true;
         }
-        else if ( parent == null && String.class.isAssignableFrom( type.getGetterClass() ) )
+        if ( parent == null && String.class.isAssignableFrom( type.getGetterClass() ) )
         {
             return false;
         }
diff --git a/src/main/java/org/apache/commons/ognl/ASTBitNegate.java b/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
index ac91826..316fd92 100644
--- a/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
+++ b/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
@@ -49,10 +49,7 @@
         {
             return "~(" + super.coerceToNumeric( source, context, children[0] ) + ")";
         }
-        else
-        {
-            return "~(" + source + ")";
-        }
+        return "~(" + source + ")";
     }
 
     public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P data )
diff --git a/src/main/java/org/apache/commons/ognl/ASTConst.java b/src/main/java/org/apache/commons/ognl/ASTConst.java
index 45b0857..8139863 100644
--- a/src/main/java/org/apache/commons/ognl/ASTConst.java
+++ b/src/main/java/org/apache/commons/ognl/ASTConst.java
@@ -86,7 +86,7 @@
             context.setCurrentType( null );
             return "null";
         }
-        else if ( value == null )
+        if ( value == null )
         {
             context.setCurrentType( null );
             return "";
@@ -101,14 +101,14 @@
 
             return value.toString();
         }
-        else if ( value != null && Number.class.isAssignableFrom( value.getClass() ) )
+        if ( value != null && Number.class.isAssignableFrom( value.getClass() ) )
         {
             context.setCurrentType( OgnlRuntime.getPrimitiveWrapperClass( value.getClass() ) );
             context.setCurrentObject( value );
 
             return value.toString();
         }
-        else if ( !( parent != null
+        if ( !( parent != null
                         && value != null
                         && NumericExpression.class.isAssignableFrom( parent.getClass() ) )
             && String.class.isAssignableFrom( value.getClass() ) )
@@ -121,7 +121,7 @@
 
             return retval.toString();
         }
-        else if ( Character.class.isInstance( value ) )
+        if ( Character.class.isInstance( value ) )
         {
             Character val = (Character) value;
 
diff --git a/src/main/java/org/apache/commons/ognl/ASTCtor.java b/src/main/java/org/apache/commons/ognl/ASTCtor.java
index 17bfe4b..b3d33cc 100644
--- a/src/main/java/org/apache/commons/ognl/ASTCtor.java
+++ b/src/main/java/org/apache/commons/ognl/ASTCtor.java
@@ -87,52 +87,48 @@
         }
         if ( isArray )
         {
-            if ( args.length == 1 )
+            if ( args.length != 1 ) {
+                throw new OgnlException( "only expect array size or fixed initializer list" );
+            }
+            try
             {
-                try
+                Class componentClass = OgnlRuntime.classForName( context, className );
+                List sourceList = null;
+                int size;
+
+                if ( args[0] instanceof List )
                 {
-                    Class componentClass = OgnlRuntime.classForName( context, className );
-                    List sourceList = null;
-                    int size;
+                    sourceList = (List) args[0];
+                    size = sourceList.size();
+                }
+                else
+                {
+                    size = (int) OgnlOps.longValue( args[0] );
+                }
+                result = Array.newInstance( componentClass, size );
+                if ( sourceList != null )
+                {
+                    TypeConverter converter = context.getTypeConverter();
 
-                    if ( args[0] instanceof List )
+                    for ( int i = 0, icount = sourceList.size(); i < icount; i++ )
                     {
-                        sourceList = (List) args[0];
-                        size = sourceList.size();
-                    }
-                    else
-                    {
-                        size = (int) OgnlOps.longValue( args[0] );
-                    }
-                    result = Array.newInstance( componentClass, size );
-                    if ( sourceList != null )
-                    {
-                        TypeConverter converter = context.getTypeConverter();
+                        Object o = sourceList.get( i );
 
-                        for ( int i = 0, icount = sourceList.size(); i < icount; i++ )
+                        if ( ( o == null ) || componentClass.isInstance( o ) )
                         {
-                            Object o = sourceList.get( i );
-
-                            if ( ( o == null ) || componentClass.isInstance( o ) )
-                            {
-                                Array.set( result, i, o );
-                            }
-                            else
-                            {
-                                Array.set( result, i,
-                                           converter.convertValue( context, null, null, null, o, componentClass ) );
-                            }
+                            Array.set( result, i, o );
+                        }
+                        else
+                        {
+                            Array.set( result, i,
+                                       converter.convertValue( context, null, null, null, o, componentClass ) );
                         }
                     }
                 }
-                catch ( ClassNotFoundException ex )
-                {
-                    throw new OgnlException( "array component class '" + className + "' not found", ex );
-                }
             }
-            else
+            catch ( ClassNotFoundException ex )
             {
-                throw new OgnlException( "only expect array size or fixed initializer list" );
+                throw new OgnlException( "array component class '" + className + "' not found", ex );
             }
         }
         else
diff --git a/src/main/java/org/apache/commons/ognl/ASTMethod.java b/src/main/java/org/apache/commons/ognl/ASTMethod.java
index c213f59..4b369aa 100644
--- a/src/main/java/org/apache/commons/ognl/ASTMethod.java
+++ b/src/main/java/org/apache/commons/ognl/ASTMethod.java
@@ -169,10 +169,7 @@
 
                 return "";
             }
-            else
-            {
-                getterClass = method.getReturnType();
-            }
+            getterClass = method.getReturnType();
 
             // TODO: This is a hacky workaround until javassist supports varargs method invocations
             boolean varArgs = method.isVarArgs();
diff --git a/src/main/java/org/apache/commons/ognl/ASTNegate.java b/src/main/java/org/apache/commons/ognl/ASTNegate.java
index 71161a2..dd6f2fe 100644
--- a/src/main/java/org/apache/commons/ognl/ASTNegate.java
+++ b/src/main/java/org/apache/commons/ognl/ASTNegate.java
@@ -49,10 +49,7 @@
         {
             return "-" + source;
         }
-        else
-        {
-            return "-(" + source + ")";
-        }
+        return "-(" + source + ")";
     }
 
     public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P data )
diff --git a/src/main/java/org/apache/commons/ognl/ASTProperty.java b/src/main/java/org/apache/commons/ognl/ASTProperty.java
index 5243baf..9825d80 100644
--- a/src/main/java/org/apache/commons/ognl/ASTProperty.java
+++ b/src/main/java/org/apache/commons/ognl/ASTProperty.java
@@ -189,26 +189,23 @@
 
                     return "." + m.getName() + "(" + srcString + ")";
                 }
-                else
+                PropertyAccessor propertyAccessor = OgnlRuntime.getPropertyAccessor( target.getClass() );
+
+                // System.out.println("child value : " + _children[0].getValue(context, context.getCurrentObject())
+                // + " using propaccessor " + p.getClass().getName()
+                // + " and srcString " + srcString + " on target: " + target);
+
+                Object currentObject = context.getCurrentObject();
+                if ( ASTConst.class.isInstance( child ) && Number.class.isInstance( currentObject ) )
                 {
-                    PropertyAccessor propertyAccessor = OgnlRuntime.getPropertyAccessor( target.getClass() );
-
-                    // System.out.println("child value : " + _children[0].getValue(context, context.getCurrentObject())
-                    // + " using propaccessor " + p.getClass().getName()
-                    // + " and srcString " + srcString + " on target: " + target);
-
-                    Object currentObject = context.getCurrentObject();
-                    if ( ASTConst.class.isInstance( child ) && Number.class.isInstance( currentObject ) )
-                    {
-                        context.setCurrentType( OgnlRuntime.getPrimitiveWrapperClass( currentObject.getClass() ) );
-                    }
-                    Object indexValue = propertyAccessor.getProperty( context, target, value );
-                    result = propertyAccessor.getSourceAccessor( context, target, srcString );
-                    getterClass = context.getCurrentType();
-                    context.setCurrentObject( indexValue );
-
-                    return result;
+                    context.setCurrentType( OgnlRuntime.getPrimitiveWrapperClass( currentObject.getClass() ) );
                 }
+                Object indexValue = propertyAccessor.getProperty( context, target, value );
+                result = propertyAccessor.getSourceAccessor( context, target, srcString );
+                getterClass = context.getCurrentType();
+                context.setCurrentObject( indexValue );
+
+                return result;
             }
 
             String name = ( (ASTConst) child ).getValue().toString();
@@ -236,14 +233,10 @@
                 }
                 else
                 {
-                    if ( pd instanceof ObjectIndexedPropertyDescriptor )
-                    {
-                        m = ( (ObjectIndexedPropertyDescriptor) pd ).getIndexedReadMethod();
-                    }
-                    else
-                    {
+                    if ( !(pd instanceof ObjectIndexedPropertyDescriptor) ) {
                         throw new OgnlException( "property '" + name + "' is not an indexed property" );
                     }
+                    m = ( (ObjectIndexedPropertyDescriptor) pd ).getIndexedReadMethod();
                 }
 
                 if ( parent == null )
@@ -383,7 +376,7 @@
         {
             return ( (IndexedPropertyDescriptor) pd ).getIndexedWriteMethod();
         }
-        else if ( ObjectIndexedPropertyDescriptor.class.isInstance( pd ) )
+        if ( ObjectIndexedPropertyDescriptor.class.isInstance( pd ) )
         {
             return ( (ObjectIndexedPropertyDescriptor) pd ).getIndexedWriteMethod();
         }
@@ -425,46 +418,7 @@
                 // System.out.println("astproperty setter using indexed value " + value + " and srcString: " +
                 // srcString);
 
-                if ( context.get( "_indexedMethod" ) != null )
-                {
-                    m = (Method) context.remove( "_indexedMethod" );
-                    PropertyDescriptor pd = (PropertyDescriptor) context.remove( "_indexedDescriptor" );
-
-                    boolean lastChild = lastChild( context );
-                    if ( lastChild )
-                    {
-                        m = getIndexedWriteMethod( pd );
-
-                        if ( m == null )
-                        {
-                            throw new UnsupportedCompilationException(
-                                "Indexed property has no corresponding write method." );
-                        }
-                    }
-
-                    setterClass = m.getParameterTypes()[0];
-
-                    Object indexedValue = null;
-                    if ( !lastChild )
-                    {
-                        indexedValue = OgnlRuntime.callMethod( context, target, m.getName(), new Object[]{ value } );
-                    }
-                    context.setCurrentType( setterClass );
-                    context.setCurrentAccessor(
-                        OgnlRuntime.getCompiler( context ).getSuperOrInterfaceClass( m, m.getDeclaringClass() ) );
-
-                    if ( !lastChild )
-                    {
-                        context.setCurrentObject( indexedValue );
-                        return "." + m.getName() + "(" + srcString + ")";
-                    }
-                    else
-                    {
-                        return "." + m.getName() + "(" + srcString + ", $3)";
-                    }
-                }
-                else
-                {
+                if ( context.get( "_indexedMethod" ) == null ) {
                     PropertyAccessor propertyAccessor = OgnlRuntime.getPropertyAccessor( target.getClass() );
 
                     Object currentObject = context.getCurrentObject();
@@ -496,6 +450,38 @@
                      */
                     return result;
                 }
+                m = (Method) context.remove( "_indexedMethod" );
+                PropertyDescriptor pd = (PropertyDescriptor) context.remove( "_indexedDescriptor" );
+
+                boolean lastChild = lastChild( context );
+                if ( lastChild )
+                {
+                    m = getIndexedWriteMethod( pd );
+
+                    if ( m == null )
+                    {
+                        throw new UnsupportedCompilationException(
+                            "Indexed property has no corresponding write method." );
+                    }
+                }
+
+                setterClass = m.getParameterTypes()[0];
+
+                Object indexedValue = null;
+                if ( !lastChild )
+                {
+                    indexedValue = OgnlRuntime.callMethod( context, target, m.getName(), new Object[]{ value } );
+                }
+                context.setCurrentType( setterClass );
+                context.setCurrentAccessor(
+                    OgnlRuntime.getCompiler( context ).getSuperOrInterfaceClass( m, m.getDeclaringClass() ) );
+
+                if ( !lastChild )
+                {
+                    context.setCurrentObject( indexedValue );
+                    return "." + m.getName() + "(" + srcString + ")";
+                }
+                return "." + m.getName() + "(" + srcString + ", $3)";
             }
 
             String name = ( (ASTConst) child ).getValue().toString();
@@ -532,16 +518,12 @@
                 }
                 else
                 {
-                    if ( pd instanceof ObjectIndexedPropertyDescriptor )
-                    {
-                        ObjectIndexedPropertyDescriptor opd = (ObjectIndexedPropertyDescriptor) pd;
-
-                        m = lastChild( context ) ? opd.getIndexedWriteMethod() : opd.getIndexedReadMethod();
-                    }
-                    else
-                    {
+                    if ( !(pd instanceof ObjectIndexedPropertyDescriptor) ) {
                         throw new OgnlException( "property '" + name + "' is not an indexed property" );
                     }
+                    ObjectIndexedPropertyDescriptor opd = (ObjectIndexedPropertyDescriptor) pd;
+
+                    m = lastChild( context ) ? opd.getIndexedWriteMethod() : opd.getIndexedReadMethod();
                 }
 
                 if ( parent == null )
diff --git a/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java b/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java
index 7dc07f5..c747749 100644
--- a/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java
+++ b/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java
@@ -66,10 +66,7 @@
         {
             return "";
         }
-        else
-        {
-            return ExpressionCompiler.getRootExpression( this, target, context );
-        }
+        return ExpressionCompiler.getRootExpression( this, target, context );
     }
 
     public String toSetSourceString( OgnlContext context, Object target )
@@ -78,10 +75,7 @@
         {
             return "";
         }
-        else
-        {
-            return "$3";
-        }
+        return "$3";
     }
 
     public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P data )
diff --git a/src/main/java/org/apache/commons/ognl/ASTStaticField.java b/src/main/java/org/apache/commons/ognl/ASTStaticField.java
index 231e904..7357b93 100644
--- a/src/main/java/org/apache/commons/ognl/ASTStaticField.java
+++ b/src/main/java/org/apache/commons/ognl/ASTStaticField.java
@@ -130,16 +130,13 @@
             {
                 return clazz;
             }
-            else if ( clazz.isEnum() )
+            if ( clazz.isEnum() )
             {
                 return clazz;
             }
-            else
-            {
-                Field field = clazz.getField( fieldName );
+            Field field = clazz.getField( fieldName );
 
-                return field.getType();
-            }
+            return field.getType();
         }
         catch ( ClassNotFoundException e )
         {
diff --git a/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java b/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java
index 82ed58e..ca6094f 100644
--- a/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java
+++ b/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java
@@ -77,16 +77,12 @@
             }
             if ( result == null )
             {
-                if ( index instanceof Number )
-                {
-                    int i = ( (Number) index ).intValue();
-
-                    result = ( i >= 0 ) ? Array.get( target, i ) : null;
-                }
-                else
-                {
+                if ( !(index instanceof Number) ) {
                     throw new NoSuchPropertyException( target, index );
                 }
+                int i = ( (Number) index ).intValue();
+
+                result = ( i >= 0 ) ? Array.get( target, i ) : null;
             }
         }
         return result;
@@ -130,14 +126,10 @@
         }
         else
         {
-            if ( name instanceof String )
-            {
-                super.setProperty( context, target, name, value );
-            }
-            else
-            {
+            if ( !(name instanceof String) ) {
                 throw new NoSuchPropertyException( target, name );
             }
+            super.setProperty( context, target, name, value );
         }
     }
 
diff --git a/src/main/java/org/apache/commons/ognl/BooleanExpression.java b/src/main/java/org/apache/commons/ognl/BooleanExpression.java
index 3288e22..7dd947f 100644
--- a/src/main/java/org/apache/commons/ognl/BooleanExpression.java
+++ b/src/main/java/org/apache/commons/ognl/BooleanExpression.java
@@ -89,7 +89,7 @@
             {
                 return "false";
             }
-            else if ( "(true)".equals( ret ) )
+            if ( "(true)".equals( ret ) )
             {
                 return "true";
             }
diff --git a/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java b/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
index af16434..833ab5e 100644
--- a/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
+++ b/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
@@ -127,17 +127,17 @@
                 context.setCurrentType( int.class );
                 return ".size()";
             }
-            else if ( "keys".equals( key ) || "keySet".equals( key ) )
+            if ( "keys".equals( key ) || "keySet".equals( key ) )
             {
                 context.setCurrentType( Set.class );
                 return ".keySet()";
             }
-            else if ( "values".equals( key ) )
+            if ( "values".equals( key ) )
             {
                 context.setCurrentType( Collection.class );
                 return ".values()";
             }
-            else if ( "isEmpty".equals( key ) )
+            if ( "isEmpty".equals( key ) )
             {
                 context.setCurrentType( boolean.class );
                 return ".isEmpty()";
diff --git a/src/main/java/org/apache/commons/ognl/OgnlOps.java b/src/main/java/org/apache/commons/ognl/OgnlOps.java
index c75ed2f..6254e20 100644
--- a/src/main/java/org/apache/commons/ognl/OgnlOps.java
+++ b/src/main/java/org/apache/commons/ognl/OgnlOps.java
@@ -873,22 +873,18 @@
             }
             return Math.max( DOUBLE, t1 );
         }
-        else if ( t2 >= MIN_REAL_TYPE )
-        {
-            if ( t1 < INT )
-            {
-                return t2;
-            }
-            if ( t1 == BIGINT )
-            {
-                return BIGDEC;
-            }
-            return Math.max( DOUBLE, t2 );
-        }
-        else
-        {
+        if ( t2 < MIN_REAL_TYPE ) {
             return Math.max( t1, t2 );
         }
+        if ( t1 < INT )
+        {
+            return t2;
+        }
+        if ( t1 == BIGINT )
+        {
+            return BIGDEC;
+        }
+        return Math.max( DOUBLE, t2 );
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/ognl/OgnlRuntime.java b/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
index e670817..755adea 100644
--- a/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
+++ b/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
@@ -508,7 +508,7 @@
         {
             return Boolean.TYPE;
         }
-        else if ( clazz.getSuperclass() == Number.class )
+        if ( clazz.getSuperclass() == Number.class )
         {
             if ( clazz == Integer.class )
             {
@@ -629,11 +629,11 @@
                 {
                     return true;
                 }
-                else if ( class1.isAssignableFrom( class2 ) )
+                if ( class1.isAssignableFrom( class2 ) )
                 {
                     return false;
                 }
-                else if ( class2.isAssignableFrom( class1 ) )
+                if ( class2.isAssignableFrom( class1 ) )
                 {
                     return true;
                 }
@@ -1071,21 +1071,17 @@
         }
         if ( methodValue == null )
         {
-            if ( method != null )
-            {
-                try
-                {
-                    methodValue = invokeMethod( target, method, NoArguments );
-                }
-                catch ( InvocationTargetException ex )
-                {
-                    throw new OgnlException( propertyName, ex.getTargetException() );
-                }
-            }
-            else
-            {
+            if ( method == null ) {
                 throw new NoSuchMethodException( propertyName );
             }
+            try
+            {
+                methodValue = invokeMethod( target, method, NoArguments );
+            }
+            catch ( InvocationTargetException ex )
+            {
+                throw new OgnlException( propertyName, ex.getTargetException() );
+            }
         }
         return methodValue;
     }
@@ -1203,16 +1199,12 @@
             {
                 Object state;
 
-                if ( !Modifier.isStatic( field.getModifiers() ) )
-                {
-                    state = context.getMemberAccess().setup( context, target, field, propertyName );
-                    result = field.get( target );
-                    context.getMemberAccess().restore( context, target, field, propertyName, state );
-                }
-                else
-                {
+                if ( Modifier.isStatic( field.getModifiers() ) ) {
                     throw new NoSuchFieldException( propertyName );
                 }
+                state = context.getMemberAccess().setup( context, target, field, propertyName );
+                result = field.get( target );
+                context.getMemberAccess().restore( context, target, field, propertyName, state );
 
             }
             catch ( IllegalAccessException ex )
@@ -1292,20 +1284,17 @@
             {
                 return clazz;
             }
-            else if ( clazz.isEnum() )
+            if ( clazz.isEnum() )
             {
                 return Enum.valueOf( (Class<? extends Enum>) clazz, fieldName );
             }
-            else
+            Field field = clazz.getField( fieldName );
+            if ( !Modifier.isStatic(field.getModifiers()) )
             {
-                Field field = clazz.getField( fieldName );
-                if ( !Modifier.isStatic(field.getModifiers()) )
-                {
-                    throw new OgnlException( "Field " + fieldName + " of class " + className + " is not static" );
-                }
-
-                return field.get( null );
+                throw new OgnlException( "Field " + fieldName + " of class " + className + " is not static" );
             }
+
+            return field.get( null );
         }
         catch ( ClassNotFoundException e )
         {
@@ -1658,14 +1647,10 @@
             }
             else
             {
-                if ( propertyDescriptor instanceof ObjectIndexedPropertyDescriptor )
-                {
-                    method = ( (ObjectIndexedPropertyDescriptor) propertyDescriptor ).getIndexedReadMethod();
-                }
-                else
-                {
+                if ( !(propertyDescriptor instanceof ObjectIndexedPropertyDescriptor) ) {
                     throw new OgnlException( "property '" + name + "' is not an indexed property" );
                 }
+                method = ( (ObjectIndexedPropertyDescriptor) propertyDescriptor ).getIndexedReadMethod();
             }
 
             return callMethod( context, source, method.getName(), args );
@@ -1697,14 +1682,10 @@
             }
             else
             {
-                if ( propertyDescriptor instanceof ObjectIndexedPropertyDescriptor )
-                {
-                    method = ( (ObjectIndexedPropertyDescriptor) propertyDescriptor ).getIndexedWriteMethod();
-                }
-                else
-                {
+                if ( !(propertyDescriptor instanceof ObjectIndexedPropertyDescriptor) ) {
                     throw new OgnlException( "property '" + name + "' is not an indexed property" );
                 }
+                method = ( (ObjectIndexedPropertyDescriptor) propertyDescriptor ).getIndexedWriteMethod();
             }
 
             callMethod( context, source, method.getName(), args );
@@ -1866,13 +1847,13 @@
                     {
                         return methodDescriptor.getMethod();
                     }
-                    else if ( numParms < 0 )
+                    if ( numParms < 0 )
                     {
                         if ( methodName.equals( name ) )
                         {
                             return methodDescriptor.getMethod();
                         }
-                        else if ( method == null || ( method.getParameterTypes().length > methodParamLen ) )
+                        if ( method == null || ( method.getParameterTypes().length > methodParamLen ) )
                         {
                             method = methodDescriptor.getMethod();
                         }
@@ -1899,7 +1880,8 @@
                     if ( numParms > 0 && methodDescriptor.getMethod().getParameterTypes().length == numParms )
                     {
                         return methodDescriptor.getMethod();
-                    } else if ( (numParms < 0) && (method == null || ( method.getParameterTypes().length
+                    }
+                    if ( (numParms < 0) && (method == null || ( method.getParameterTypes().length
                         > methodDescriptor.getMethod().getParameterTypes().length )) )
                     {
                         method = methodDescriptor.getMethod();
@@ -1958,7 +1940,7 @@
                     {
                         return method.getMethod();
                     }
-                    else if ( numParms < 0 )
+                    if ( numParms < 0 )
                     {
                         return method.getMethod();
                     }
@@ -1984,7 +1966,7 @@
                     {
                         return cmethod;
                     }
-                    else if ( numParms < 0 )
+                    if ( numParms < 0 )
                     {
                         return cmethod;
                     }
diff --git a/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java b/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
index e74fe11..3eed6a8 100644
--- a/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
+++ b/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
@@ -265,7 +265,7 @@
             {
                 return intface.getName();
             }
-            else if ( intface.getName().indexOf( "Iterator" ) > 0 )
+            if ( intface.getName().indexOf( "Iterator" ) > 0 )
             {
                 return intface.getName();
             }
@@ -428,19 +428,19 @@
             {
                 return List.class;
             }
-            else if ( Iterator.class.isAssignableFrom( anIntf ) )
+            if ( Iterator.class.isAssignableFrom( anIntf ) )
             {
                 return Iterator.class;
             }
-            else if ( Map.class.isAssignableFrom( anIntf ) )
+            if ( Map.class.isAssignableFrom( anIntf ) )
             {
                 return Map.class;
             }
-            else if ( Set.class.isAssignableFrom( anIntf ) )
+            if ( Set.class.isAssignableFrom( anIntf ) )
             {
                 return Set.class;
             }
-            else if ( Collection.class.isAssignableFrom( anIntf ) )
+            if ( Collection.class.isAssignableFrom( anIntf ) )
             {
                 return Collection.class;
             }
diff --git a/src/main/java/org/apache/commons/ognl/internal/ClassCacheHandler.java b/src/main/java/org/apache/commons/ognl/internal/ClassCacheHandler.java
index f3a29c3..bde12ce 100644
--- a/src/main/java/org/apache/commons/ognl/internal/ClassCacheHandler.java
+++ b/src/main/java/org/apache/commons/ognl/internal/ClassCacheHandler.java
@@ -53,29 +53,25 @@
                     for ( Class<?> clazz = forClass; clazz != null; clazz = clazz.getSuperclass() )
                     {
                         answer = handlers.get( clazz );
-                        if ( answer == null )
-                        {
-                            Class<?>[] interfaces = clazz.getInterfaces();
-                            for ( Class<?> iface : interfaces )
-                            {
-                                answer = handlers.get( iface );
-                                if ( answer == null )
-                                {
-                                    /* Try super-interfaces */
-                                    answer = getHandler( iface, handlers );
-                                }
-                                if ( answer != null )
-                                {
-                                    keyFound = iface;
-                                    break outer;
-                                }
-                            }
-                        }
-                        else
-                        {
+                        if ( answer != null ) {
                             keyFound = clazz;
                             break;
                         }
+                        Class<?>[] interfaces = clazz.getInterfaces();
+                        for ( Class<?> iface : interfaces )
+                        {
+                            answer = handlers.get( iface );
+                            if ( answer == null )
+                            {
+                                /* Try super-interfaces */
+                                answer = getHandler( iface, handlers );
+                            }
+                            if ( answer != null )
+                            {
+                                keyFound = iface;
+                                break outer;
+                            }
+                        }
                     }
                 }
                 if ( answer != null  && keyFound != forClass )
diff --git a/src/main/java/org/apache/commons/ognl/internal/entry/DeclaredMethodCacheEntryFactory.java b/src/main/java/org/apache/commons/ognl/internal/entry/DeclaredMethodCacheEntryFactory.java
index 68086c4..989e10b 100644
--- a/src/main/java/org/apache/commons/ognl/internal/entry/DeclaredMethodCacheEntryFactory.java
+++ b/src/main/java/org/apache/commons/ognl/internal/entry/DeclaredMethodCacheEntryFactory.java
@@ -41,18 +41,12 @@
         {
             return true;
         }
-        else
+        boolean isStatic = Modifier.isStatic( method.getModifiers() );
+        if ( key.type == DeclaredMethodCacheEntry.MethodType.STATIC )
         {
-            boolean isStatic = Modifier.isStatic( method.getModifiers() );
-            if ( key.type == DeclaredMethodCacheEntry.MethodType.STATIC )
-            {
-                return isStatic;
-            }
-            else
-            {
-                return !isStatic;
-            }
+            return isStatic;
         }
+        return !isStatic;
 
     }
 }
diff --git a/src/main/java/org/apache/commons/ognl/internal/entry/MethodAccessCacheEntryFactory.java b/src/main/java/org/apache/commons/ognl/internal/entry/MethodAccessCacheEntryFactory.java
index 5155458..181ae8b 100644
--- a/src/main/java/org/apache/commons/ognl/internal/entry/MethodAccessCacheEntryFactory.java
+++ b/src/main/java/org/apache/commons/ognl/internal/entry/MethodAccessCacheEntryFactory.java
@@ -44,20 +44,13 @@
     {
         final boolean notPublic = !Modifier.isPublic( method.getModifiers() ) || !Modifier.isPublic(
             method.getDeclaringClass().getModifiers() );
-        if ( notPublic )
-        {
-            if ( !method.isAccessible() )
-            {
-                return INACCESSIBLE_NON_PUBLIC_METHOD;
-            }
-            else
-            {
-                return ACCESSIBLE_NON_PUBLIC_METHOD;
-            }
-        }
-        else
-        {
+        if ( !notPublic ) {
             return PUBLIC_METHOD;
         }
+        if ( !method.isAccessible() )
+        {
+            return INACCESSIBLE_NON_PUBLIC_METHOD;
+        }
+        return ACCESSIBLE_NON_PUBLIC_METHOD;
     }
 }
diff --git a/src/test/java/org/apache/commons/ognl/test/OgnlTestCase.java b/src/test/java/org/apache/commons/ognl/test/OgnlTestCase.java
index 39fc82d..8a39e4f 100644
--- a/src/test/java/org/apache/commons/ognl/test/OgnlTestCase.java
+++ b/src/test/java/org/apache/commons/ognl/test/OgnlTestCase.java
@@ -233,14 +233,10 @@
                 ex = (Exception) ex.getCause();
             }
 
-            if ( testedResult instanceof Class )
-            {
-                Assert.assertTrue( Exception.class.isAssignableFrom( (Class<?>) testedResult ) );
-            }
-            else
-            {
+            if ( !(testedResult instanceof Class) ) {
                 throw ex;
             }
+            Assert.assertTrue( Exception.class.isAssignableFrom( (Class<?>) testedResult ) );
         }
     }
 
diff --git a/src/test/java/org/apache/commons/ognl/test/Performance.java b/src/test/java/org/apache/commons/ognl/test/Performance.java
index 798b676..697cf94 100644
--- a/src/test/java/org/apache/commons/ognl/test/Performance.java
+++ b/src/test/java/org/apache/commons/ognl/test/Performance.java
@@ -319,17 +319,11 @@
         {
             return ( t1 - t0 ) >= MAX_TIME;
         }
-        else
+        if ( ITERATIONS_MODE )
         {
-            if ( ITERATIONS_MODE )
-            {
-                return _iterations >= MAX_ITERATIONS;
-            }
-            else
-            {
-                throw new RuntimeException( "no maximums specified" );
-            }
+            return _iterations >= MAX_ITERATIONS;
         }
+        throw new RuntimeException( "no maximums specified" );
     }
 
     /*