} if (isMoreVisible(child.getModifiers(), parent.getModifiers())) {
} if (parent.getKind() == Member.POINTCUT) { TypeX[] pTypes = parent.getParameterTypes(); TypeX[] cTypes = child.getParameterTypes(); if (!Arrays.equals(pTypes, cTypes)) { world.showMessage(IMessage.ERROR, "can't override " + parent + " with " + child + " parameter types don't match", child.getSourceLocation(), parent.getSourceLocation()); return false; } }  if (isMoreVisible(parent.getModifiers(), child.getModifiers())) {
	public boolean checkLegalOverride(ResolvedMember parent, ResolvedMember child) {		if (!parent.getReturnType().equals(child.getReturnType())) {			world.showMessage(IMessage.ERROR,				"can't override " + parent +				" with " + child + " return types don't match",				child.getSourceLocation(), parent.getSourceLocation());			return false;		}		if (isMoreVisible(child.getModifiers(), parent.getModifiers())) {			world.showMessage(IMessage.ERROR,				"can't override " + parent +				" with " + child + " visibility is reduced",				child.getSourceLocation(), parent.getSourceLocation());			return false;		}		return true;			}