code: private ElementReader nextElementReaderInternal() {
          if (nextElement >= elements.size()) {
              return null;
          }
          try {
              ElementType type = elements.get(nextElement);
              switch (format) {
                  case ASCII:
                      return new AsciiElementReader(
                              type,
                              getElementCount(type.getName()),
                              asciiReader);
                  case BINARY_BIG_ENDIAN:
                  case BINARY_LITTLE_ENDIAN:
                      return new BinaryElementReader(
                              type,
                              getElementCount(type.getName()),
                              binaryStream);
                  default:
                      throw new UnsupportedOperationException("PLY format "
                              + format + " is currently not supported.");
              }
          }
          finally {
              nextElement++;
          }
      }
docs: Creates the next element reader.
  @return next element Reader.