I have a piece of code and I'm a bit confused how to deal with my issue so, please review method below. I was trying to search for a solution but unfortunately none of them fit my needs so I am looking for an advice here. The method is taking a String and removing duplicated characters so for example - input: ABBCDEF should return ABCDEF, but when entering i+1 in the last iteration I got IndexOutOfBound Exception, so I can iterate until string.length-1 but then I loose the last element, what is the SMARTEST solution in your opinion, thanks.
public String removeDuplicates(String source){
        if(source.length() < 2){
            return source;
        }
        StringBuilder noDuplicates = new StringBuilder();
        char[] string = source.toCharArray();
        for(int i = 0; i < string.length-1; i++){
            if(string[i] != string[i+1]){
                noDuplicates.append(string[i]);
            }
        }
        return noDuplicates.toString();
    }
 
     
     
     
     
    