 		{
 			var superClass:Object;
 			
-			if (leftOperand == null)
+			if (leftOperand == null || rightOperand == null)
 				return false;
-			
-			if (leftOperand && rightOperand == null) {
-				return false;
-			}
 			
 			// (adufilie) separated instanceof check to catch more cases.
 			if (leftOperand instanceof rightOperand)

		}
		
		/**
		 * Tests if something looks like a Class.
		 */
		public static function isClass(classDef:Object):Boolean
		{

		
		/**
		 * Safe version of 'as' operator
		 * Using this will avoid the bug where "obj as this.classDef" compiles incorrectly as "...Language.as(obj, classDef)"
		 */
		public static function AS(leftOperand:Object, rightOperand:Class):*
		{
