code: public static <T> void copyWithoutNulls(T[] src, T[] dst) {
          int skipped = 0;
          for (int i = 0; i < src.length; i++) {
              T object = src[i];
              if (object == null) {
                  skipped++;
              } else {
                  dst[i - skipped] = object;
              }
          }
      }
docs: Copy src array into destination and skip null values.
  Warning: It does not do any validation. It expect the dst[] is
  created with right capacity.
  
  You can calculate required capacity as <code>src.length - getNoOfNullItems(src)</code>
  
  @param src source array
  @param dst destination. It has to have the right capacity
  @param <T>