code: public int[] getNonZeroIndices() {
          if (updated || nonZeroIndices == null) {
              int[] indices = sparseVector.getNonZeroIndices();
              int[] newIndices = new int[indices.length];
              int i = 0;
              for (int index = 0; index < indices.length; ++index) {
                  Integer newIndex = reverseColumnMask.get(indices[index]);
                  if (newIndex == null)
                      continue;
                  newIndices[i++] = newIndex;
              }
              nonZeroIndices = Arrays.copyOf(newIndices, i);
          }
          return nonZeroIndices;
      }
docs: {@inheritDoc}