code: private static Queue<String> removePrefix(final List<String> input) {
          if (input.size() < 2) {
              return new LinkedList<>(input);
          }
          String resultingPrefix = "";
          final String previousGreatestCommonPrefix = input.get(0).trim();
          String greatestCommonPrefix = "";
          for (int i = 1; i < input.size(); i++) {
              final String previousLine = input.get(i - 1).trim();
              final String currentLine = input.get(i).trim();
              greatestCommonPrefix = ExceptionParser.greatestCommonPrefix(previousLine, currentLine);
              resultingPrefix = ExceptionParser.greatestCommonPrefix(previousGreatestCommonPrefix, greatestCommonPrefix);
              if (resultingPrefix.length() == 0) {
                  break;
              }
          }
          final int prefixLength = resultingPrefix.length();
          final boolean hasPrefix = prefixLength > 0;
          final Queue<String> result = new LinkedList<>();
          for (final String line : input) {
              final String line2 = line.trim();
              if (hasPrefix) {
                  result.add(line2.substring(prefixLength));
              } else {
                  result.add(line2);
              }
          }
          return result;
      }
docs: Identifies and removes the common prefix - the longest beginning
  substring that all the lines share.
  
  @param input
  Lines to be evaluated.
  @return The same lines, without the prefix. And stripped of white space
  at the ends.