protected static long getLong(CharSequence input, long offset,
                                  int char0Off, int char1Off, int char2Off, int char3Off,
                                  int char4Off, int delta) {
      final int base = ix(offset);
      if (0 == ((int)offset & 1)) {
        final long char0 = input.charAt(base + char0Off);
        final long char1 = input.charAt(base + char1Off);
        final long char2 = input.charAt(base + char2Off);
        final long char3 = input.charAt(base + char3Off);
        return char0 | (char1 << 16) | (char2 << 32) | (char3 << 48);
      }
      else {
        final long char0 = input.charAt(base + char0Off + delta) >>> 8;
        final long char1 = input.charAt(base + char1Off + delta);
        final long char2 = input.charAt(base + char2Off + delta);
        final long char3 = input.charAt(base + char3Off + delta);
        final long char4 = input.charAt(base + char4Off);
        return char0 | (char1 << 8) | (char2 << 24) | (char3 << 40) | (char4 << 56);
      }
    }
protected static long getLong(CharSequence input, long offset,
                                  int char0Off, int char1Off, int char2Off, int char3Off,
                                  int char4Off, int delta)