public ISVNStatus[] getStatus(File path, boolean descend, boolean getAll, boolean contactServer) throws SVNClientException {
public ISVNStatus[] getStatus(File path, boolean descend, boolean getAll, boolean contactServer, boolean ignoreExternals) throws SVNClientException {
    public ISVNStatus[] getStatus(File path, boolean descend, boolean getAll, boolean contactServer) throws SVNClientException {    	//Call the standard status first.    	ISVNStatus[] statuses = super.getStatus(path, descend, getAll, contactServer);    	//If status call return empty array it is either correct - the getAll was not specified and there's not    	//interesting status in WC, or it is the bug on getting status on unversioned with ignored.    	if (statuses.length == 0) {    		if (getAll) {    			//If the getAll was called and it returned nothing, it is probably the bug case    			return new ISVNStatus[] { new SVNStatusUnversioned(path) };    			    		} else {    			//If the getAll was not called, we have to find out, so let's call it again with getAll set.    			ISVNStatus[] reCheckStatuses = super.getStatus(path, false, true, false);    			if (reCheckStatuses.length == 0) {        			//If event after getAll the result is empty, we assume it's the bug.    				return new ISVNStatus[] { new SVNStatusUnversioned(path) };    			} else {    				//The result after getAll was not empty, so the very first empty result was OK, there's nothing interesting in WC.    				return new ISVNStatus[0];    			}    		}    	} else {    		return statuses;    	}    }