Is there an NPE risk here, or will readValue always return non-null when result is non-null?