code: public char charAt(int index) {
          if (transform == TRANSFORM_NONE) {
              return base.charAt(index + offset);
          } else if (transform == TRANSFORM_LOWER_CASE) {
              return Character.toLowerCase(base.charAt(index + offset));
          } else if (transform == TRANSFORM_UPPER_CASE) {
              return Character.toUpperCase(base.charAt(index + offset));
          }
          // shouldn't get here. return plain character
          return base.charAt(index + offset);
      }
docs: {@inheritDoc}