code: private static boolean startsWith(char[] array, char[] prefix) {
          if (prefix == null) {
              return true;
          }
  
          if (array == null) {
              return false;
          }
  
          int length = prefix.length;
          if (array.length < length) {
              return false;
          }
  
          for (int i = 0; i < length; i++) {
              if (prefix[i] != array[i]) {
                  return false;
              }
          }
  
          return true;
      }
docs: Tells whether or not the given {@code array} starts with the given {@code prefix}.
  <p>
  The {@code prefix} might be {@code null} in which case it's considered that the {@code array} starts with the prefix.
  
  @param array the array that will be tested if starts with the prefix, might be {@code null}
  @param prefix the array used as prefix, might be {@code null}
  @return {@code true} if the {@code array} starts with the {@code prefix}, {@code false} otherwise