public class Util
{
    public static final int OFFSET = 7;
    public static final int REPEAT_SIZE = 100;//10000;
    public static final int PHASES = 100;
    public static final int MESSAGE_SIZE = 8;

    public static int[] convert (String input)
    {
        int[] result = new int[input.length()];
        char[] sequence = input.toCharArray();

        for (int i = 0; i < result.length; i++)
        {
            result[i] = Character.getNumericValue(sequence[i]);
        }

        return result;
    }

    public static int[] replicate (String input, int times)
    {
        int[] data = convert(input);
        int[] toReturn = new int[data.length * times];
        int index = 0;

        for (int i = 0; i < times; i++)
        {
            System.arraycopy(data, 0, toReturn, index, data.length);

            index += data.length;
        }

        return toReturn;
    }

    public static long offset (String input)
    {
        int[] data = convert(input);
        String offsetStr = input.substring(0, Util.OFFSET);

        return Long.parseLong(offsetStr);
    }

    public static int[] message (int[] input, long offset)
    {
        return null;
    }

    public static void printSignal (int[] signal, int split)
    {
        for (int i = 0; i < signal.length; i++)
        {
            if ((split > 0) && ((i > 0) && (i % split == 0)))
                System.out.println();

            System.out.print(signal[i]);
        }

        System.out.println();
    }

    private Util ()
    {
    }
}
@@ -99,14 +99,8 @@
 E = 
-100;//
 1000
@@ -900,20 +900,19 @@
  static 
-long
+int
  offset 
@@ -1049,22 +1049,24 @@
 urn 
-Long
+Integer
 .parse
-Long
+Int
 (off
@@ -1131,12 +1131,11 @@
 ut, 
-long
+int
  off
@@ -1157,19 +1157,160 @@
     
-return null
+int%5B%5D message = new int%5BMESSAGE_SIZE%5D;%0A%0A        for (int i = 0; i %3C MESSAGE_SIZE; i++)%0A            message%5Bi%5D = input%5Boffset+i%5D;%0A%0A        return message
 ;%0A  

Update Util.java